抛出什么异常?(Python)

1 投票
4 回答
1372 浏览
提问于 2025-04-16 14:24

如果我有一个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')

撰写回答