文章目录
1.Python标准异常总结2.异常处理3.raise1.Python标准异常总结
Python标准异常总结测试:2.异常处理
try-except语句注:try语句一旦检测到异常,剩下的语句将不会被执行,会直接找到对应的异常所对应的处理代码
try:检测范围except Exception[as reason]:出现异常(Exception)后的处理代码try:f = open('TE.txt')print(f.read())f.close()except OSError as reason:print('文件打开出错原因是:\n' + str(reason))try:sum = 1 + '1'f = open('TE.txt')print(f.read())f.close()except(OSError, TypeError):print('出错了')
测试:
try-finally语句
finally 语句块里的内容就是确保无论如何都将被执行的内容!
try:检测范围except Exception[as reason]:出现异常(Exception)后的处理代码finally:无论如何都会被执行的代码#举个例子:try:f = open('a.txt')print(f.read())sum = 1 + '1'except:print('出错了')finally:f.close()
测试:
出现的问题以及原因:如果异常发生在成功打开文件后,Python 跳到 except 语句执行,并没有执行关闭文件的命令(用户写入文件的数据就可能没有保存起来),因此我们需要确保无论如何(就算出了异常退出)文件也要被关闭,我们应该怎么做呢?
解决办法:我们可以使用 finally 语句来实现,如果 try 语句块中没有出现任何运行时错误,会跳过 except 语句块执行 finally语句块的内容。如果出现异常,则会先执行 except 语句块的内容再接着执行 finally 语句块的内容。总之,finally 语句块里的内容就是确保无论如何都将被执行的内容!
3.raise
raise语句可以自己抛出一个异常
测试:
参考:小甲鱼零基础入门学习python笔记,第三十二课:异常处理:你不可能总是对的,第三十三课:异常处理:try-except、try-finally、raise语句