python print error 空_python笔记37:10分钟掌握异常处理,再也不担心程序挂了
主要內容:
- 小目標:異常處理
- 主要內容:錯誤與異常,try_except語句
對于擼代碼的程序員來說,程序運行中出現問題是常見的現象;
實際學習與工作中,我們會花很大的精力去解決各種問題;
1. 程序中問題:
Python中出現問題,主要分為下面幾種:
代碼編寫問題,比如:語法錯誤;
程序運行時異常,比如:除0錯誤,序列越界錯誤;
計算機硬件錯誤,比如:磁盤損壞,網絡異常等;
程序邏輯問題,比如:死循環,算法問題等;
如何解決以上問題:
語法問題,python解釋器會檢查;
程序運行時異常,程序直接停止運行,并報出異常;
硬件問題:檢查硬件
邏輯問題:通過單步調試或者print信息通過代碼檢查;
這里我們主要講解程序運行時異常。
2. 語法問題:
常見語法錯誤:
- 例1:
結果:
File "", line 1 if a > 10 ^SyntaxError: invalid syntax分析:python解釋器輸出信息,第一行,語法錯誤;
- 例2:
結果:
File "", line 4 pass ^IndentationError: unexpected indent分析:縮進問題;
3. 常見異常:
例1:
if b > 10: pass結果,變量b沒有定義:
NameError Traceback (most recent call last) in ----> 1 if b > 10: 2 passNameError: name 'b' is not defined例2:
int('c')結果,字符串轉整數錯誤:
ValueError Traceback (most recent call last) in ----> 1 int('c')ValueError: invalid literal for int() with base 10: 'c'- 分析:
遇到異常問題,查看解釋器報錯;
找到問題所在行,分析并解決問題;
問題:某些情況下程序出現異常,
我們并不希望程序終止運行:例如:
網絡抖動,希望重試幾次;
數據庫查找異常,可以跳過繼續查找;
讀取配置文件,IO錯誤,可以使用默認配置....
4. 異常處理
4.1 try/except語句
Python中可以使用try/except解惑處理異常,例如:
try: if b > 10: pass print("run here 1")except Exception as e: print("Error:", e)print("run here 2")結果:
Error: name 'b' is not defined從結果中可以看到,程序并沒有因為變量b沒有定義而停止運行
- 分析:
try/except用來處理異常;
若程序沒有異常,執行完try中的代碼段;
若程序在try代碼段出現異常,try語句截獲異常,停止當前代碼段執行,去執行except中代碼
問題:如何只處理指定異常?
4.2 except:
except后面可以添加為指定異常類型;
常見的異常類型:
常見異常
下面我們指定異常:
try: if b > 10: pass print("run here 1")except IOError as e: print("Error:", e)print("run here 2")結果:異常處理并未生效
程序中設置捕獲異常為:IOError;
程序中觸發異常為NameError,try/except并不對此異常進行處理;
對比:Exception為異?;?#xff0c;可以捕獲所有異常;
1 try:----> 2 if b > 10: 3 pass 4 print("run here 1") 5 except IOError as e:NameError: name 'b' is not defined4.3 try/except設置捕獲多個異常:
使用多個except指定異常,直接上代碼:
try: if b > 10: pass print("run here 1")except IOError as e: print("IOError:", e)except NameError as e: print("NameError:", e)print("run here 2")結果,捕獲到了NameError:
NameError: name 'b' is not definedrun here 24.4 不能處理的錯誤:
例如,語法錯誤
try: if b>10 passexcept Exception as e: pass結果:Python解釋器首先檢查語法問題,程序尚未運行,所以不能處理語法錯誤:
if b>10 ^SyntaxError: invalid syntax4.5 try/finally
基本語法:
try: passexcept: passfinally: pass程序是否遇到異常,都會執行finally語句,一般finally中用于釋放資源;
- 例1:程序中無異常
結果:finally
- 例2:程序中出現異常
結果:
Error: name 'd' is not definedfinally以上就是Python中異常處理方式。
總結:
理解錯誤與異常;
掌握try/except/finally語句;
try/except不能處理語法錯誤
總結
以上是生活随笔為你收集整理的python print error 空_python笔记37:10分钟掌握异常处理,再也不担心程序挂了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “旋渊抱星汉”上一句是什么
- 下一篇: 盘点电视剧中被玷污的女角色 你最无法忍