こんにちは私は特定のエラーコードを処理する方法が不思議です。例えば、[Errno 111] Connection refused
Pythonは特定のエラーコードを処理していますか?
私はこの特定のエラーをソケットモジュールでキャッチして何かを印刷したいと思っています。得
import socket
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('localhost', 4167))
except socket.error, e:
if 'Connection refused' in e:
print '*** Connection refused ***'
:しかしかなり不潔
$ python socketexception.py
*** Connection refused ***
OSXでは、 'ECONNREFUSED'は111ではない61のように見えるので、111の値をハードコーディングすることは移植性にとっては悪い考えです。 – jchl
あなたは絶対に正しいです。私はそのような場合がもっとあると確信しています。 –
'else:raise'を持つことが重要です。そうしないと、他のすべてのエラーコードが暗黙に無視されます! – jtpereyda