所有的异常都是在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语言及其应用》。