Pythonの関数呼び出しで間違った数のパラメーターを指定したときに発生するエラーを処理する方法は?
-
19-08-2019 - |
質問
関数に間違った数のパラメーターを指定すると、エラーが発生します。 どうすれば処理できますか?
与えました
def fun_name(...):
try:
...
except TypeError:
print 'Wrong no of arg'
機能していません。
助けてください。
解決
呼び出し元は受信者ではなく、この例外をトリガーします。
受信関数で引数の数を明示的にチェックする場合は、varargsを使用する必要があります。
def fun_name(*args):
if len(args) != 2:
raise TypeError('Two arguments required')
他のヒント
関数を呼び出す場所で処理する必要があります。
try:
fun_name(...)
except TypeError:
print "error!"
間違った数のパラメーターで関数を呼び出す場合、2つの可能性があります:
- 任意の数の引数を処理するように関数を設計します。次に、追加の引数をどうするかを知っておく必要があります。アレック・トーマスの答えは、このケースを処理する方法を示しています。
- または、設計に根本的な欠陥があり、深刻な問題に直面しています。この場合、エラーをキャッチしても役に立ちません。
try...catch
パーツを削除すると、スローされている例外の種類が表示されます。
所属していません StackOverflow