python学习笔记8
异常处理
一、错误和异常
作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息。
Python 有两种错误很容易辨认:语法错误和异常。
语法错误
Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例:
这个例子中,函数 print() 被检查到有错误,是它前面缺少了一个冒号(:)。
语法分析器指出了出错的位置并标记成为了红色。
异常
即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。
大多数的异常都不会被程序处理,都以错误信息的形式展现在这里:
异常以不同的类型出现,这些类型都作为信息的一部分打印出来: 例子中的类型有 ZeroDivisionError,NameError 和 TypeError。
错误信息的前面部分显示了异常发生的上下文,并以调用栈的形式显示具体信息。
遇到的问题及解决1
python标准异常总结
异常详解链接
二、异常处理
try - except 语句
程序正常运行,则执行try里面的代码,程序异常,则执行except里面的代码,except可捕获多个具体异常。
try语句按照如下方式工作;
首先,执行try子句(在关键字try和关键字except之间的语句)
如果没有异常发生,忽略except子句,try子句执行后结束。
如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的except子句将被执行。最后执行 try 语句之后的代码。
如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。
一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。
处理程序将只针对对应的try子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组,例如:
异常sample01:
异常sample02:
详细解释链接
抛出异常
raise用法
在某个特定的条件下,抛出异常,从而中断程序。
详细解释链接