异常处理就是处理程序中的错误。谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在等等)。
在python中提供专门用于处理程序中错误的一种机制,异常机制,异常不可以忽略,可以跨函数,在实际开发中要比返回值的方式更加有优势。
异常语法
语法格式如下:
try: #可能会抛出异常的代码段 except 异常类型: #处理异常的代码 |
#python解释器试着去执行try的代码 #如果发生错误,open函数会抛出一个异常 #在此案例中,open会抛出IOError异常 try: f = open("test.txt","r") #通过使用except可以捕获异常,但需要指定捕获何种异常 #在接下来的语句中编写异常处理代码 except IOError: print("文件打开失败!") |
捕获多个异常
上例中,我们通过except捕获了IOError异常,假如说try代码块可能返回多种异常,那么如何捕获多种异常呢?
try: f = open("log.txt","r") a = 10 b = 0 ret = a / b #捕获多个类型的异常 except (IOError,ZeroDivisionError): print("try语句块中的代码发生了错误!") |
或者:
try: f = open("log.txt","r") a = 10 b = 0 ret = a / b #捕获多个类型的异常 except IOError: print("文件打开失败!") except ZeroDivisionError: print("除0错误!") |