所有的异常都是在Python或者它的标准库中提前定义好的。根据自己的目的可以使用任意的异常类型,同时也可以自己定义异常类型,用来处理程序中可能会出现的特殊情况。
一个异常是一个类,即类Exception的一个子类。
#编写异常UppercaseException,在一个字符串中碰到大写字母会被抛出。
class UppercaseException(Exception):
pass
>>> words = ['eeenie', 'meenie', 'miny', 'MO' ]
>>> for word in words:
... if word.isupper():
... raise UppercaseException(word)
...
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
__main__.UppercaseException: MO
即使没有定义UppercaseException的行为(注意到只使用pass),也可以通过继承其父类Exception在抛出异常时输出错误提示。
摘自《Python语言及其应用》。