requests.exceptions.ProxyError и urllib3.exceptions.ProxyError са различни класове изключения. Споделеното кратко име не прави така, че един блок except да хване и двете.

За извикване на Requests започнете с публичния API за изключения на Requests. Неговият транспортен адаптер обикновено превръща грешките от по-ниско ниво в изключенията, които Requests показва. По-старите версии имаха специфични грешки при обвиване, затова запазете версията на библиотеката при неочакван traceback.

При разследване прегледайте модула, класа и верижната причина на изключението. Вложен MaxRetryError или мрежов провал може да запази полезна информация за предишния етап на прокси.

Избягвайте да импортирате стар vendored път от историческо решение в модерно приложение. Прихванете публичното изключение, подходящо за текущото извикване, запазете причината за диагностика и решете поведението при повторение отделно. Хващането на всеки Exception и безкрайното продължаване само скрива първоначалното несъответствие.

Подобни статии