python如何检测和处理异常_Python-20 异常处理 异常检测
方式一:
try
檢測范圍
except Exception[ as reason]:
出現(xiàn)異常(Exception)后的處理代碼
方式二:try-finally語句
try:
檢測范圍
except Exception[as reason]:
出現(xiàn)異常(Exception)后的處理代碼
finally:
無論如何都會被執(zhí)行的代碼
raise語句
方式一:
try:
f= open('我為什么是一個文件.txt')print(f.read())
f.close()exceptOSError:print('文件出錯拉T_T')
運行結果:
[fengjunjie@localhost ~]$ python3 test.py
文件出錯拉T_T
try:
f= open('我為什么是一個文件.txt')print(f.read())
f.close()exceptOSError as reason:print('文件出錯拉T_T,錯誤的原因是:' + str(reason))
運行結果:
[fengjunjie@localhost ~]$ python3.6 test.py
文件出錯拉T_T,錯誤的原因是:[Errno 2] No such file or directory: '我為什么是一個文件.txt'
try:
sum= 1 + '1'f= open('我為什么是一個文件.txt')print(f.read())
f.close()exceptOSError as reason:print('文件出錯拉T_T,錯誤的原因是:' +str(reason))exceptTypeError:print('類型轉換錯誤')
運行結果:
[fengjunjie@localhost ~]$ python3 test.py
類型轉換錯誤
try:
int('abc')
sum= 1 + '1'f= open('我為什么是一個文件.txt')print(f.read())
f.close()exceptOSError as reason:print('文件出錯拉T_T,錯誤的原因是:' +str(reason))exceptTypeError as reason:print('類型轉換錯誤,錯誤原因' +str(reason))except:print('程序出錯了')
運行結果:
[fengjunjie@localhost ~]$ python3 test.py
程序出錯了
同時捕獲多個異常:
try:
sum= 1 + '1'f= open('我為什么是一個文件.txt')print(f.read())
f.close()except(OSError,TypeError):print('程序出錯了')
運行結果:
[fengjunjie@localhost ~]$ python3 test.py
程序出錯了
方式二:
finally -- 文件關閉
try:
f= open('我為什么是一個文件.txt','w')print(f.write('我存在了!'))
sum= 1 + '1'
except(OSError,TypeError):print('程序出錯了')finally:
f.close()
運行結果:
[fengjunjie@localhost ~]$ python3 test.py
5
程序出錯了
raise
>>> raise
Traceback (most recent call last):
File "", line 1, in
RuntimeError: No active exception to reraise
>>> raise ZeroDivisionError
Traceback (most recent call last):
File "", line 1, in
ZeroDivisionError
>>> raise ZeroDivisionError('除書為零的異常')
Traceback (most recent call last):
File "", line 1, in
ZeroDivisionError: 除書為零的異常
總結
以上是生活随笔為你收集整理的python如何检测和处理异常_Python-20 异常处理 异常检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎么引用已经输入的信息_如何
- 下一篇: 100内奇数之和流程图_Python进阶