在python中错误和异常的区别:
错误是不可被处理的
异常时可以被处理的
错误
在python中错误是代码运行前
错误是非正常的,不应该出现的
异常
异常是由错误产生的
异常处理的语法
try:
正常执行的语句(有可能遇到异常)
except:
处理语句
try:
要执行的语句(有可能遇到异常)
except Exception:
处理语句
try:
要执行的语句(有可能遇到异常)
except 异常类型:
处理语句
try:
要执行的语句(有可能遇到异常)
except 异常类型 as 变量名:
处理语句
多种异常处理
try:
要执行的语句(多条语句,所以有可能在某些情况下出现一种异常,在另一些情况下出现另一种异常,也有可能有其他情况。
出现不同的异常做不同的处理)
except 异常1:
处理异常1
except 异常2:
处理异常2
except 异常3:
处理异常3
......
except Exception:
未预知的异常处理
else:
正常执行语句之后要做的事
finally:
无论正常还是异常都要执行的语句
例如
try:
data
1 / 0
except NameError:
print('NameError')
except ZeroDivisionError:
print('ZeroDivisionError')
except IndexError:
print('IndexError')
except KeyError:
print('KeyError')
except Exception:
print('Expection')
else:
print('ELSE')
finally:
print('finally')
注意顺序,具体的异常在(Exception)前面
主动抛出异常
语法:
raise 异常类型
例如
try:
data = 1
raise ZeroDivisionError
except ZeroDivisionError:
print("ZeroDivisionError")
指定捕获
语法:
指定捕获:异常1, 异常2, 异常3
捕获之后执行相同的操作
例如
try:
data
1 / 0
list_data[0]
except(ZeroDivisionError, NameError, IndexError) :
print('ZeroDivisionNameIndex')