俺は基本的に Python の辞書が持つ has_key メソッドは使わない。じゃあどうしているのかというと、これは当然例外を使うことになる。
次のようなコードを考えてみる。
if dic.has_key(key):
try:
some_function(dic[key])
except UserDefinedError, e:
handle_error(e)
else:
error()
この手のコードを俺は次のように書いている。
try:
some_function(dic[key])
except KeyError, e:
error()
except UserDefinedError, e:
handle_error(e)
俺はこっちの方がエラー処理が一階層にまとまっていて好きだな。
うまい棒を大量に買い込むのはもうやめよう。全く止まらん。