抛出什么异常?(Python)
如果我有一个Python函数,它有两个可选的参数(用于搜索条件),但是没有提供任何参数(我至少需要一个参数),那么应该抛出什么样的异常呢?
如果我只需要传递两个参数中的一个,那如果两个参数都提供了,应该抛出什么异常呢?或者说,是不是应该创建两个不同的函数呢?
4 个回答
4
你可以在这里找到一个内置的Python异常列表,但记住,如果这些异常都不符合你的需求,你可以随时创建自己的异常。
我建议使用TypeError(这是在Python代码中通常会看到的错误)。你也可以使用AssertionError,并且可以检查至少要给这个函数提供一个参数。
4
TypeError是最常见的错误类型 - 通常情况下,你会遇到这个错误。
3
我会抛出一个有用的 TypeError
错误:
if no_args or both_args:
raise TypeError('f() must be passed exactly one of foo=value, bar=value')