Какое исключение я должен поднять на неправильные / недопустимые комбинации аргументов в 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 - хорошо ли понятно, что каждый будет создавать свойBadValueErrors в Python или есть другой, предпочтительный метод?

Ответы на вопрос(6)

Ваш ответ на вопрос