前言
錯誤是程式中的問題,由於這些問題而導致程式停止執行。另一方面,當某些內部事件發生時,會引發異常,從而改變程式的正常流程。
python中會發生兩種型別的錯誤。
語法錯誤
邏輯錯誤(異常)
如果未遵循正確的語言語法,則會引發語法錯誤。
例
# 初始化amount變數
amount = 10000
# 檢查你是否有資格
# 是否購買某某自學課程
if(amount>2999)
print("您有資格購買某課程")
輸出:
ps c:usersadministratordesktop> & 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:usersadministratordesktop> & d:/python37-32/python.exe "g:/黑蘋果備份請勿刪除/**/exercise24 (1)/python加密.py"
traceback (most recent call last):
file "g:/黑蘋果備份請勿刪除/**/exercise24 (1)/python加密.py", line 5, in a = marks / 0
zerodivisionerror: division by zero
在上面的示例中,我們嘗試將數字除以0時出現zerodivisionerror。
示例2:縮排不正確時。
if(a<3):
print("gfg")
輸出:
ps c:usersadministratordesktop> & 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:
print("**開始")
# 不安全操作執行
print(1 / 0)
except :
print("發生錯誤")
finally:
print("軟體測試test")
輸出:
ps c:usersadministratordesktop> & d:/python37-32/python.exe "g:/黑蘋果備份請勿刪除/**/exercise24 (1)/python加密.py"
**開始
發生錯誤
軟體測試test
請在你的帳戶中加錢
輸出:
請在你的帳戶中加錢
python錯誤異常 python中的錯誤異常處理
這是我的 class persondata def init self,age,spouse none,children 0 self.age age self.children children self.spouse spouse if self.spouse none del self.spo...
Python 程式執行的錯誤和異常
demo for i in range 10 print i out for i in range 10 syntaxerror invalid syntaxpython的語法分析器完成,檢測到錯誤所在檔案的行號。以向上箭頭標記錯誤位置,最後顯示錯誤型別。當程式檢測到乙個錯誤,直譯器就無法繼續執行下...
python中遇到的錯誤
一 typeerror ufunc multiply did not contain a loop with signature matching types dtype dtype dtype u32就是 長度為32個位元組的無符號整數型別,這下就好辦了,發現問題是出在讀取txt資料時沒有轉換型別...