Comment gérer l'erreur qui survient en donnant un nombre incorrect de paramètres dans un appel de fonction en Python?

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

  •  19-08-2019
  •  | 
  •  

Question

Quand je donne un nombre erroné de paramètres dans une fonction, je reçois des erreurs. Comment est-ce que je le gère?

j'ai donné

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

    except TypeError:
        print 'Wrong no of arg'

Cela ne fonctionne pas.

Aide s'il vous plaît.

Était-ce utile?

La solution

L’appelant déclenche cette exception, pas le destinataire.

Si vous souhaitez que la fonction de réception vérifie explicitement le nombre d'arguments, vous devez utiliser varargs:

def fun_name(*args):
  if len(args) != 2:
    raise TypeError('Two arguments required')

Autres conseils

Vous devez le gérer lorsque vous appelez la fonction.

try:
  fun_name(...)
except TypeError:
  print "error!"

Si vous appelez une fonction avec un nombre incorrect de paramètres, deux possibilités s'offrent à vous:

  • Soit vous concevez votre fonction pour gérer un nombre arbitraire d'arguments. Ensuite, vous devriez savoir quoi faire avec les arguments supplémentaires. La réponse de Alec Thomas vous montre comment gérer ce cas.
  • Ou votre conception est fondamentalement défectueuse et vous êtes dans le pétrin. Corriger l'erreur n'aide pas dans ce cas.

Si vous supprimez les parties try ... catch , il devrait vous indiquer le type d'exception qu'elle génère.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top