'exc_info, if given, is the original exception that caused the trouble (as returned by sys.exc_info()).'

def __init__(self, msg, exc_info=None):

    super(DownloadError, self).__init__(msg)
    self.exc_info = exc_info
