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
、Python では誰もが独自の を作成することが十分に理解されているのでしょうBadValueError
か、それとも別の推奨される方法があるのでしょうか。