[extractor/common] Wrap extractor errors (Fixes #1194)
For now, we just wrap some common errors. More may follow. We do not want to catch actual programming errors in the extractors, such as 1 // 0.
This commit is contained in:
parent
99c2398bc6
commit
3a5bcd0326
|
@ -264,8 +264,15 @@ class InfoExtractor(object):
|
||||||
|
|
||||||
def extract(self, url):
|
def extract(self, url):
|
||||||
"""Extracts URL information and returns it in list of dicts."""
|
"""Extracts URL information and returns it in list of dicts."""
|
||||||
|
try:
|
||||||
self.initialize()
|
self.initialize()
|
||||||
return self._real_extract(url)
|
return self._real_extract(url)
|
||||||
|
except ExtractorError:
|
||||||
|
raise
|
||||||
|
except compat_http_client.IncompleteRead as e:
|
||||||
|
raise ExtractorError('A network error has occured.', cause=e, expected=True)
|
||||||
|
except (KeyError,) as e:
|
||||||
|
raise ExtractorError('An extractor error has occured.', cause=e)
|
||||||
|
|
||||||
def set_downloader(self, downloader):
|
def set_downloader(self, downloader):
|
||||||
"""Sets the downloader for this IE."""
|
"""Sets the downloader for this IE."""
|
||||||
|
|
Loading…
Reference in New Issue