Какое исключение я должен поднять на неправильные / недопустимые комбинации аргументов в Python?
Мне было интересно узнать, как лучше всего указывать недопустимые комбинации аргументов в Python. Я сталкивался с несколькими ситуациями, когда у вас есть такая функция:
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
Единственное раздражение от этого заключается в том, что у каждого пакета есть свой, обычно немного отличающийсяBadValueError
, Я знаю, что в Java существуетjava.lang.IllegalArgumentException
- хорошо ли понятно, что каждый будет создавать свойBadValueError
s в Python или есть другой, предпочтительный метод?