2024-06-17 17:46:26 发布
网友
这是older question的后续操作。在
给定ISBN编号,例如3-528-03851-5如果传入的字符串与格式X-XXX-XXXXX-X不匹配,我应该引发哪种异常类型?在
3-528-03851-5
引发ValueError。在
ValueError
这几乎是“你给了我一个没有意义的价值”的标准说法。例如:
>>> int("a") Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: 'a' >>> import shlex; shlex.split("'") Traceback (most recent call last): ... ValueError: No closing quotation
与TypeError形成对比,后者在类型不正确时引发:
TypeError
我想我应该在这个实例中创建一个异常类,因为它是一种非常特殊的异常类型。可以很容易地扩展ValueError类:
class ISBNFormatException(ValueError): """Raised when an invalid ISBN format is found""" pass
ValueError可能是最合适的选择。根据它的文档,它是指一个值具有正确的类型,但不合适的值。在
http://docs.python.org/library/exceptions.html#exceptions.ValueError
引发
ValueError
。在这几乎是“你给了我一个没有意义的价值”的标准说法。例如:
与
^{pr2}$TypeError
形成对比,后者在类型不正确时引发:我想我应该在这个实例中创建一个异常类,因为它是一种非常特殊的异常类型。可以很容易地扩展ValueError类:
ValueError可能是最合适的选择。根据它的文档,它是指一个值具有正确的类型,但不合适的值。在
http://docs.python.org/library/exceptions.html#exceptions.ValueError
相关问题 更多 >
编程相关推荐