Pythonの関数呼び出しで間違った数のパラメーターを指定したときに発生するエラーを処理する方法は?

StackOverflow https://stackoverflow.com/questions/456673

  •  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パーツを削除すると、スローされている例外の種類が表示されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top