知識點講解七:Python中的異常處理機制

明天依舊可好 | 柯尊柏發表於2018-09-03

異常的處理機制

try:
    result = 4 / 0
except Exception as e:
    print('輸出異常:'+str(e))
else:
    print("try子句沒有異常,輸出result結果:", result)
finally:
    print("程式結束,無論try子句是否有異常這條語句都會被執行!")
'''
輸出:
輸出異常:division by zero
程式結束,無論try子句是否有異常這條語句都會被執行!
'''
  • 首先,執行try子句(在關鍵字try和關鍵字except之間的語句)。
  • 如果沒有異常發生,忽略except子句,如果出現異常,執行except子句。
  • else子句將在try子句沒有發生任何異常的時候執行
  • finally定義了無論在任何情況下都會執行的清理行為

獲取異常

python2.x捕獲異常語法:

except Exception,e:
    print('輸出異常:'+str(e))

python3.x捕獲異常語法:

except Exception as e:
    print('輸出異常:'+str(e))

如果需要把錯誤行等具體資訊輸出來可以考慮用traceback包來實現

import traceback
try:
    result = 4 / 0
except Exception as e:
    print('輸出異常:'+str(e))
    print('#============================')
    print('採用traceback進行的異常輸出:')
    print(traceback.format_exc())
else:
    print("try子句沒有異常,輸出result結果:", result)
finally:
    print("程式結束,無論try子句是否有異常這條語句都會被執行!")
'''
輸出:
輸出異常:division by zero
#============================
採用traceback進行的異常輸出:
Traceback (most recent call last):
  File "C:\Users\***\Desktop\test.py", line 3, in <module>
    result = 4 / 0
ZeroDivisionError: division by zero

程式結束,無論try子句是否有異常這條語句都會被執行!
'''

相關文章