对于每一种高级语言来说,异常处理结构不仅能够提高代码的健壮性,而且也提高了代码的容错性,从而不会因为使用者错误输入造成系统崩溃,也可以通过异常处理结构为使用者提供更加友好的错误提示。
在python开发过程中引发程序异常错误的原因有很多中,较为常见的有:除0、下标越界等。 Python中提供了很多不同形式的异常处理结构,其基本利用思路都是:先尝试执行代码,再进行处理可能发生的错误。
一、try…except…结构
在python异常处理结构中try…except…结构使用最为频繁,其中try子句中代码块为可能引发异常的语句,except子句用来捕获相应的异常。
也可以解释为,当try子句代码块执行异常并且被except子句捕获,则执行except子句的代码块。
例如:学校在录入每科成绩时要求输入0-100的整型数值,而不接收其它类型的数值,如果输入不在0-100范围的值时给出提示。
二、try…except…else…结构
之前的例子我们是通过if语句判断学生数学成绩是否在0-100的范围,也可以通过try…except…else…结构进行编写。如果try代码的子句出现了异常且该异常被except所捕获则可以执行相应的异常处理代码,此时就不会执行else中的子句;
如果try中的代码没有抛出异常,则执行执行else子句代码块。
学校在录入数学成绩时要求输入0-100的整型数值,而不接收其它类型的数值,如果输入不在0-100范围的值时给出提示。
三、try…except…finally…结构
在try…except…finally…结构中。无论try子代码块是否正常执行,finally子句中的代码块总是会得到执行。在日常开发过程中,通常用来做清理工作,用来释放try子句中申请的资源。
输入两个数值a,b进行除法运算,并输出最终结果。同时为了程序的鲁棒性,要求带有异常处理结构