コードを書いているときにわからないことがあれば、The Zen of Python
もう一度読み直そうとしています。今回は、それらの行が私をためらわせます。
Errors should never pass silently.
Unless explicitly silenced.
現在のコードでは、次のような関数がいくつかあります。
def add_v_1(a, b):
return a + b
そして、それらのすべての呼び出しは次のようになります。
c = add_v_1(7, [])
このようなコードの例外は、上位層で発生してキャッチされます。
しかし、それはこのようであるべきですか?
add_v_1
例外が発生する可能性がTypeError
あり、それから回復したい。したがって、可能な関数の呼び出しは次のようになります。
try:
c = add_v_1(7, [])
except TypeError:
print "Incorrect types!"
しかし、呼び出しごとに例外処理を行う必要があります。これは重く見えます。
だから、私はできる:
def add_v_2(a, b):
try:
return a + b
except TypeError:
print "Incorrect types!"
呼び出しは次のようになります。
c = add_v_2(7, [])
よりきれいに見えます。
これらのアプローチはすべて従うように見えますThe Zen of Python
が、どれがより良い選択ですか?