Python中提供了很多不同形式的异常处理结构,其基本利用思路都是:先尝试执行代码,再进行处理可能发生的错误。
1.try…except…结构 在Python异常处理结构中try…except…结构使用最为频繁,其中try子句中代码块为可能引发异常的语句,except子句用来捕获相应的异常。也可以解释为,当try子句代码块执行异常并且被except子句捕获,则执行except子句的代码块。代码例子:
math = input('成绩:') try: math = int(math) if (0<=math<=100): print('成绩为:',math) else: print('不在范围') except Exception as e: print('输入有误!')2.try…excep…else…结构 上面的例子我们是通过if语句判断学生数学成绩是否在0~100的范围,也可以通过try…except…else…结构进行编写。如果try代码的子句出现了异常且该异常被except所捕获,则可以执行相应的异常处理代码,此时就不会执行else中的子句;如果try中的代码没有抛出异常,则继续执行else子句代码块。代码例子:
math = input('成绩:') try: math = int(math) except Exception as e: print('输入有误!') else: if (0<=math<=100): print('成绩为:',math) else: print('不在范围')3.try…except…finally… 结构 在try…except…finally…结构中。无论try子代码块是否正常执行,finally子句中的代码块总是会得到执行。在日常开发过程中,通常用来做清理工作,用来释放try子句中申请的资源。代码例子:
a = int(input('a:')) b = int(input('b:')) try: div = a/b print(div) except Exception as e: print('输入有误') finally: print('运行结束!')