ben yakalamak ve sadece bununla baskı Python İstekler ConnectionErrors ince ediyorum:Python'dan Bağlantı Errno'u Bağlıyor ConnectionError?
HTTPSConnectionPool(host='10.100.24.16', port=443): Max retries exceeded with url: /api/datastores/06651841-bbdb-472a-bde2-689d8cb8da19 (Caused by <class 'socket.error'>: [Errno 61] Connection refused)
ve
HTTPSConnectionPool(host='10.100.24.16', port=443): Max retries exceeded with url: /api/datastores/06651841-bbdb-472a-bde2-689d8cb8da19 (Caused by <class 'socket.error'>: [Errno 65] No route to host)
Ve diğerleri
:except requests.exceptions.ConnectionError as e:
logger.warning(str(e.message))
gibi mesajların yazdırır. Merak ettiğim şey, mesajda görüntülenen errno'yu elde etmenin en iyi, en Pythonic olanı nedir? Sorunları yakalamak ve kullanıcıya mümkün olduğunca yararlı ve ilgili hata mesajı sunmak için güvenilir bir sisteme sahip olmak isterim. Anlayabildiğim kadarıyla, ConnectionError, BaseException'ın sunduğunun ötesinde yeni özellikler veya yöntemler eklenmeden, BaseException'ın dolaylı bir merhumudur. Sadece regex kullanmakta tereddüt ediyorum çünkü bana öyle geliyor ki, tüm hata mesajlarının tüm lokalitelerde aynı şekilde biçimlendirildiğini varsaymak riski taşıyor.
+1: Çok aferin! Çok teşekkür ederim! Dir (e) ve e.args kadar uzağa gitmiştim, ama o noktada durup durduğumda e.args elemanlarının, istediğim bilgiyi çıkarmak için regex kullanmak zorunda kalacağım dizeleriyle karıştırdım. – ArtOfWarfare
Sahte URL kullanımı da hata oluşturmak için hoş bir dokunuş oldu. Gerçek URL'leri kullanıyordum, fakat internet sitem kapalıyken ... hatalar üretip bunları araştırmak arasında gidip gelmek zordu. – ArtOfWarfare
oh lordum - teşekkür ederim teşekkür ederim - bu hata beni batty sürüyor! –