-python标准异常总结
-try语句
执行try子句(在关键字try和关键字except之间的语句
如果没有异常发生,忽略expect子句,try子句执行结束。
但是如果有异常发生,那么将直接忽略后面的语句,执行expect,若expec后面的错误于该错误相符,那么执行该expect后面的语句。一个try可以对应多个expect.
如果一个已成都没有与其匹配,那么这个异常将会上传回到try中。
try:
int("abc")
s = 1 + '1'
f = open('test.txt')
print(f.read())
f.close()
except OSError as error:
print('打开文件出错\n原因是:' + str(error))
except TypeError as error:
print('类型出错\n原因是:' + str(error))
except ValueError as error:
print('数值出错\n原因是:' + str(error))
数值出错
原因是:invalid literal for int() with base 10: 'abc'
- try - except - finally 语句
不管try子句里面有没有发生异常,finally子句都会执行。
如果一个异常在try子句里被抛出,而又没有任何的except把它截住,那么这个异常会在finally子句执行后被抛出(指出错误类型)
raise语句 抛出一个错误类型