概述
所谓的异常,异常就是程序在运行过程中,在特定条件下引发的错误。异常可以在程序运行过程中进行捕捉、处理,从而避免程序的意外崩溃。
当异常发生时,程序会停止当前的所有工作,跳转到异常处理部分去执行。异常是如何产生的呢?它可以是程序错误引发的,也可以是由代码主动触发的。
在python中,异常处理常用于处理以下情况。
1)错误处理:这是异常处理的典型应用。python使用try语句捕捉和处理异常,发生错误时,执行try语句中的异常处理代码,然后正常执行try语句后面的代码。
2)终极行为:在try语句中使用finally定义终极行为,不管程序是否发生异常,finally部分的代码都会执行。
3)利用异常处理实现非常规的流程控制。在代码中根据需要使用raise语句,主动抛出内置异常或者是自定义异常,实现程序的流程跳转。
1.异常处理的基本结构:
try:
可能发生异常的代码
except 异常类型名称:
异常处理代码
else:
没有发生异常时执行的代码
在异常处理时,将可能引发异常的代码放在try语句块中。在except语句中指明捕捉处理异常类型名称,except语句块中为发生异常时执行的代码。else语句块中为没有发生异常时执行的代码,else部分可以省略。
使用try…except对代码中的异常处理进行捕捉处理时,发生异常则执行对应的处理代码,然后执行后继的代码。
2.
在异常处理时,可以使用多个except语句,以捕捉可能出现的多种异常。仅仅修改try语句代码块,引发不同的异常进行测试。
3.except…as
可以在except语句中同时指定多种异常,以便使用相同的异常处理代码进行统一处理。在except语句中可以使用as为异常类创建一个实例对象。通过异常的实例对象,可进一步获得异常的类名和异常信息等数据。
4.
在捕捉异常时,如果except语句中没有指明异常类型,则不管发生何种类型的异常,均会执行except语句块中的异常处理代码。采用这种方式的好处是可以捕捉所有类型的异常,还可以进一步使用sys.exc_info()方法来获得详细的异常信息。
sys.exc_info()方法返回一个三元组(type,value,traceobj)。
type为异常类的类型,用type.__ name __ 属性可获得异常类名称。
value为异常类的实例对象,直接打印可获得异常描述信息。
traceobj是一个堆栈跟踪对象(traceback类对象),使用traceback模块的print_tb()方法可获得堆栈跟踪信息。
5.python允许在异常处理结构的内部嵌套另一个异常处理结构。在发生异常时,内部没有捕捉处理的异常可以被外层捕捉。
6.try…finally
在异常处理结构中,可以使用finally定义终止行为。不管try语句块中是否发生异常,finally语句块中的代码都会执行。
最后
以上就是悲凉往事为你收集整理的python--异常处理(一)的全部内容,希望文章能够帮你解决python--异常处理(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复