質問のタイトルはちょっと混乱しているかもしれませんが、私は実際にそれをどのように言いたいのか分かりません... 私は次のコードを見つけました。 urllib2ライブラリを利用してWebからのWebページを取得します。それはe.code
が404であることを起こればurlib2.URLErrorとその理由はPythonで
import urllib2
def download(url):
try:
html = urllib2.urlopen(url).read()
except urllib2.URLError as e:
print 'Download error:', e.reason
html = None
return html
はさてe.reason
は、単にそれは、このように私は本当にここe.reason
を使用してのポイントを理解していない、絶対にエラーを引き起こしたかについて何の情報を負いません意味空の文字列です。 代わりにe
を印刷するほうが妥当と思われますが、単純にprint e
に変更しても、それでもまだ厄介なものがあります:HTTP Error 404:
とコロンが後に空文字列... それは私には見えます上記のコードは、例外処理の面では少し不器用です。そうですか?
はい、単に 'print e'が良いでしょう。より一般的には、処理されていないようなので、例外を捕捉しないようにするのが普通です。正確に何が問題なのですか? – wim
404は、要求されたリソースが見つからなかったことを意味します。さらなる詳細については、 'print e'よりも良いでしょう。 – ichbinblau
@wimよくこのコードを本から取り出して、例外がそこで処理される方法にちょっと困惑していたので、おそらく私は何かが欠けていると思っていた。 – weeCoder