异常处理:提出什么异常

时间:2014-09-03 21:43:07

标签: python exception-handling

我正在编写一个接受某些参数的python函数。我想确保参数的值之一是特定自定义格式的字符串。如果它与我希望引发异常的格式不匹配。是否适合提出一个内置异常,如果是,那么哪一个?

我看了一眼:https://docs.python.org/3/library/exceptions.html#但是无法确定特定的一个。

3 个答案:

答案 0 :(得分:4)

只要它提供了详细而明确的错误消息,您就可以使用内置的错误消息 - 例如ValueError在这里看起来合乎逻辑。

另一种选择是创建一个自定义的:

class InvalidFormatError(ValueError):
    pass

我希望SO上有相关主题可以帮助您决定选择哪个选项:

答案 1 :(得分:3)

您所描述的内容听起来像ValueError

  

当内置操作或函数接收到具有正确类型但值不合适的参数的情况时引发,并且情况不会由更准确的异常(如IndexError)描述。

答案 2 :(得分:2)

我会使用ValueError

  

当内置操作或函数接收到具有正确类型但值不合适的参数的情况时引发,并且情况不会由更准确的异常(如IndexError)描述。

它是由内置函数引发的并不代表你也不能raise它。