Archived
This repository has been archived on 2026-10-02 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
d7d3cfce69e59d8096490eb0b95f50ef2236af69
为什么:core/aiohttp_compat.py 与 core/sync_http.py 各自定义了一份 RequestException / HTTPError,是**两个不同的类**。调用方在同步段捕获 core.sync_http.HTTPError、异步段抛的却是 core.aiohttp_compat.HTTPError, 两者无继承关系——异常会穿透所有 except 分支,属于隐藏的跨层 bug。 改法:新建 core/http_errors.py 作为唯一定义处(RequestException 基类 + HTTPError / Timeout / ConnectionError),两个垫片改为从它导入并再导出。 刻意保留 requests 的命名约定(Timeout / ConnectionError 与内置同名, 调用方需带模块前缀引用),已在 docstring 写明,避免后来者误改。 注意:sync_http 补了 __all__ 显式再导出——models._RetryFromScratch 继承它、 tests/test_aria2.py 直接导入它,符号必须保持可导入。
Languages
Python
61%
TypeScript
32.2%
CSS
6.6%
Dockerfile
0.1%