第五章 python中的异常处理
每种编程语言都会有自己的异常处理机制,虽然各有特色,但基本上都差不多,那么python中强大异常处理机制是什么样的呢?
一、异常:
python用异常对象来表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕获,程序会用回溯终止执行:
1 >>> 1/0 2 Traceback (most recent call last): 3 File "<stdin>", line 1, in <module> 4 ZeroDivisionError: integer division or modulo by zero
事实上,每个异常都是一个类的实例,这些实例可以被引发,并且可以用很多种方法进行捕捉,使得程序可以捕获错误并且对其进行处理,而不是让整个程序失败。下面列出比较常用的异常:
二、捕获异常并处理
1、采用try/except进行异常处理,语法如下:
try:
程序块
except (异常类1,异常类2....)
处理语句
else: #没有异常时执行
程序块
finally: #都要执行,一般用于关闭文件,数据库连接等。
处理语句
1 >>> try: 2 ... x = input("first number: ") 3 ... y = input("second: ") 4 ... print x/y 5 ... except ZeroDivisionError: 6 ... print("division not zero") 7 ... 8 first number: 10 9 second: 0 10 division not zero
2、异常全捕获
except后不跟任何对象,但是不建议这样做。