瀏覽代碼

Catch socket.error before IOError

Since python 2.6 it's a child class.
Jaime Marquínez Ferrándiz 12 年之前
父節點
當前提交
c40c6aaaaa
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      youtube_dl/YoutubeDL.py

+ 2 - 2
youtube_dl/YoutubeDL.py

@@ -544,11 +544,11 @@ class YoutubeDL(object):
             else:
             else:
                 try:
                 try:
                     success = self.fd._do_download(filename, info_dict)
                     success = self.fd._do_download(filename, info_dict)
-                except (OSError, IOError) as err:
-                    raise UnavailableVideoError(err)
                 except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
                 except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err:
                     self.report_error(u'unable to download video data: %s' % str(err))
                     self.report_error(u'unable to download video data: %s' % str(err))
                     return
                     return
+                except (OSError, IOError) as err:
+                    raise UnavailableVideoError(err)
                 except (ContentTooShortError, ) as err:
                 except (ContentTooShortError, ) as err:
                     self.report_error(u'content too short (expected %s bytes and served %s)' % (err.expected, err.downloaded))
                     self.report_error(u'content too short (expected %s bytes and served %s)' % (err.expected, err.downloaded))
                     return
                     return