4.1.1 异常信息

Python逐行运行程序过程中,在没有提前设置异常处理时,如果遇到异常会抛出异常信息并终止后续程序的执行。例如下面的语句,列表am只有4个元素,却要读取10个元素,超出了列表的长度,结果抛出异常信息“IndexError:list index out of range”。

Python有很强大的处理异常的能力,具有很多内置异常捕获机制,可向用户准确反馈出错信息。异常也是对象,可对它进行操作。BaseException是所有内置异常的基类,所有的异常类都是从Exception继承的,且都在exceptions模块中定义。Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exceptions模块即可使用异常。Python抛出的异常名称和异常原因如表4-1所示。

表4-1 Python抛出的异常名称和异常原因