0

関数で間違った数のパラメーターを指定すると、エラーが発生します。どうすればそれを処理できますか?

私が与えた

def fun_name(...):
    try:
        ...

    except TypeError:
        print 'Wrong no of arg'

機能していません。

助けてください。

4

4 に答える 4

4

受信者ではなく、呼び出し元がこの例外をトリガーします。

受信関数で引数の数を明示的にチェックする場合は、varargs を使用する必要があります。

def fun_name(*args):
  if len(args) != 2:
    raise TypeError('Two arguments required')
于 2009-01-19T06:13:08.320 に答える
4

関数を呼び出す場所で処理する必要があります。

try:
  fun_name(...)
except TypeError:
  print "error!"
于 2009-01-19T06:13:24.390 に答える
0

間違った数のパラメーターで関数を呼び出した場合、次の 2 つの可能性があります。

  • 任意の数の引数を処理するように関数を設計します。次に、余分な引数をどうするかを知っておく必要があります。Alec Thomas の回答は、このケースの処理方法を示しています。
  • または、設計に根本的な欠陥があり、深刻な問題に直面しています。この場合、エラーをキャッチしても役に立ちません。
于 2009-01-19T09:38:55.583 に答える
-2

パーツを削除すると、try...catchスローされている例外の種類が表示されます。

于 2009-01-19T06:13:01.660 に答える