pythonsエラー処理のための構文try:
except:
finally:
の構文を理解しています。私が理解できないことは、読みやすいコードを作るために適切なエラー名を見つける方法です。例えばPythonでエラーコードを理解し、意味のあるエラー名を使用する
:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.settimeout(60)
char = s.recv(1)
except socket.timeout:
pass
ので、ソケットがタイムアウトを発生させた場合、エラーがキャッチされます。どうか私は接続が拒否されて探しています。私は、エラー番号が10061であることを知っています。文書の中で、タイムアウトなどの意味のフルネームを見つける場所を探します。他のPythonモジュールを探すのに似た場所があるでしょうか?私はこれが初心者の質問であることを知っていますが、実際にはエラーの説明と名前を探す場所を知らなくても、私のコードを今までどおり処理しています。
編集:
ご回答ありがとうございます。
except socket.error, exception:
if exception.errno == ETIMEDOUT:
pass
あなたはerrnoマニュアルに記載されてerrnoに、とエラーになります
except socket.timeout:
pass
okどうすれば例外をキャッチするのですか?errno.ECONNREFUSED – Richard
あなたはsocket.errorを捕まえ、コードをチェックします。 – unbeli