requests.exceptions.ProxyError e urllib3.exceptions.ProxyError sono classi di eccezione diverse. Un nome breve condiviso non fa sì che una clausola except catturi entrambe.

Per una chiamata Requests, parti dall'API pubblica delle eccezioni di Requests. Il suo adattatore di trasporto di solito traduce gli errori di livello inferiore nelle eccezioni esposte da Requests. Le versioni precedenti avevano specifici bug di incapsulamento, quindi conserva la versione della libreria insieme a un traceback inatteso.

Durante l'analisi, esamina modulo, classe e causa concatenata dell'eccezione. Un MaxRetryError annidato o un errore di connessione può conservare prove utili sulla fase proxy precedente.

Evita di importare in un'applicazione moderna un vecchio percorso incorporato proveniente da una soluzione storica. Cattura l'eccezione pubblica adatta alla chiamata corrente, conserva la causa per la diagnosi e decidi separatamente il comportamento di nuovo tentativo. Catturare ogni Exception e continuare all'infinito nasconde solo la discrepanza originale.

Articoli correlati