web-dev-qa-db-ja.com

Pythonリクエスト-例外タイプ:ConnectionError-try:動作しない場合を除く

Webサービスを使用して一部のデータを取得していますが、URLが機能せず、サイトが読み込まれない場合があります。 Webサービスが機能していない場合にサイトに問題がないように、次の例外を処理する方法を知っていますか?

Django Version: 1.3.1 
Exception Type: ConnectionError
Exception Value: 
HTTPConnectionPool(Host='test.com', port=8580): Max retries exceeded with url:

使った

try:
   r = requests.get("http://test.com", timeout=0.001)
except requests.exceptions.RequestException as e:    # This is the correct syntax
   print e
   sys.exit(1)

しかし、何も起こりません

23
user1431148

ワーカーインスタンスを終了しないでくださいsys.exit(1)さらに、間違ったエラーをキャッチしています。

たとえば、できることは次のとおりです。

from requests.exceptions import ConnectionError
try:
   r = requests.get("http://example.com", timeout=0.001)
except ConnectionError as e:    # This is the correct syntax
   print e
   r = "No response"

この場合、プログラムは続行し、rの値を設定します。これにより、通常、応答がデフォルト値に保存されます

48
ProfHase85