Je me demandais quelles étaient les meilleures pratiques pour indiquer des combinaisons d'arguments invalides en Python. Je suis tombé sur quelques situations où vous avez une fonction comme ça:
def import_to_orm(name, save=False, recurse=False):
"""
:param name: Name of some external entity to import.
:param save: Save the ORM object before returning.
:param recurse: Attempt to import associated objects as well. Because you
need the original object to have a key to relate to, save must be
`True` for recurse to be `True`.
:raise BadValueError: If `recurse and not save`.
:return: The ORM object.
"""
pass
Le seul inconvénient est que chaque paquet a le sien, généralement légèrement différent BadValueError
. Je sais qu'il existe en Java java.lang.IllegalArgumentException
- est-il bien entendu que tout le monde va créer son propre BadValueError
s en Python ou existe-t-il une autre méthode préférée?
math.sqrt(-1)
, c'est une erreur de programmation qui doit être corrigée de toute façon.ValueError
n'est pas destiné à être pris dans l'exécution normale du programme ou il en dériveraitRuntimeError
.