前言
錯誤是程式中的問題,由于這些問題而導致程式停止執行,另一方面,當某些內部事件發生時,會引發例外,從而改變程式的正常流程,
python中會發生兩種型別的錯誤,
- 語法錯誤
- 邏輯錯誤(例外)
語法錯誤
如果未遵循正確的語言語法,則會引發語法錯誤,
例
# 初始化amount變數 amount = 10000 # 檢查你是否有資格 # 是否購買某某自學課程 if(amount>2999) print("您有資格購買某課程")
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋果備份請勿洗掉/代碼/exercise24 (1)/python加密.py" File "g:/黑蘋果備份請勿洗掉/代碼/exercise24 (1)/python加密.py", line 6 if(amount>2999) ^ SyntaxError: invalid syntax
它回傳語法錯誤訊息,因為在if陳述句后:缺少冒號,我們可以通過撰寫正確的語法來解決此問題,
邏輯錯誤(例外)
在運行時中,通過語法測驗后發生錯誤的情況稱為例外或邏輯型別,例如,當我們將任何數字除以零時,ZeroDivisionError就會引發例外,或者當我們匯入一個不存在的模塊時,就會引發例外ImportError,
范例1:
# 初始化amount變數 marks = 10000 # 用0除 a = marks / 0 print(a)
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋果備份請勿洗掉/代碼/exercise24 (1)/python加密.py" Traceback (most recent call last): File "g:/黑蘋果備份請勿洗掉/代碼/exercise24 (1)/python加密.py", line 5, in <module> a = marks / 0 ZeroDivisionError: division by zero
在上面的示例中,我們嘗試將數字除以0時出現ZeroDivisionError,
示例2:縮進不正確時,
if(a<3): print("gfg")
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋果備份請勿洗掉/代碼/exercise24 (1)/python加密.py" File "g:/黑蘋果備份請勿洗掉/代碼/exercise24 (1)/python加密.py", line 1 if(a<3): ^ SyntaxError: invalid character in identifier
除上述例外外,一些常見的內置例外是:
錯誤處理
當出現錯誤和例外時,我們將借助Handling方法進行處理,
- 用Try / Except / Finally處理例外我們可以通過Try / Except / Finally方法處理錯誤,我們在try中撰寫不安全的代碼,在except中回退代碼,在finally塊中回傳最終代碼,例
# 將不安全操作置于試驗區 try: print("代碼開始") # 不安全操作執行 print(1 / 0) except : print("發生錯誤") finally: print("軟體測驗test")
輸出:
PS C:\Users\Administrator\Desktop> & D:/Python37-32/python.exe "g:/黑蘋果備份請勿洗掉/代碼/exercise24 (1)/python加密.py" 代碼開始 發生錯誤 軟體測驗test
- 為預定義條件引發例外當我們要為某些條件的限制進行編碼時,我們可以引發例外,例
請在你的帳戶中加錢
輸出:
請在你的帳戶中加錢
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/102180.html
標籤:Python
上一篇:123買賣股票的最佳時機III
