Python 3 異常處理含代碼

Python 3 – 異常處理

在編寫Python程序時,難免會出現(xiàn)各種各樣的錯誤。愛掏網(wǎng) - it200.com這些錯誤被稱為異常。愛掏網(wǎng) - it200.com在Python中,異常處理是一種處理異常情況的技術。愛掏網(wǎng) - it200.comPython提供了 try 和 except 分別用來捕捉和處理異常。愛掏網(wǎng) - it200.com在本文中,我們將學習如何使用異常處理來增強我們程序的健壯性。愛掏網(wǎng) - it200.com

在Python中,每個異常都是一個類(Exception的子類)。愛掏網(wǎng) - it200.com當程序出現(xiàn)異常時,通常情況下,Python解釋器會創(chuàng)建一個異常類的實例來表示這個異常。愛掏網(wǎng) - it200.com異常會通過堆棧向上追溯,直到找到異常處理程序處理它為止。愛掏網(wǎng) - it200.com

以下是Python中常見的異常類型:

  • AssertionError:斷言語句執(zhí)行失敗。愛掏網(wǎng) - it200.com
  • AttributeError:嘗試訪問未知的對象屬性。愛掏網(wǎng) - it200.com
  • EOFError:沒有更多的輸入。愛掏網(wǎng) - it200.com
  • FloatingPointError:浮點計算錯誤。愛掏網(wǎng) - it200.com
  • GeneratorExit:generator.close() 方法被調用的時候拋出。愛掏網(wǎng) - it200.com
  • ImportError:導入模塊失敗的時候拋出。愛掏網(wǎng) - it200.com
  • IndexError:索引超出序列范圍。愛掏網(wǎng) - it200.com
  • KeyError:字典中查找一個不存在的關鍵字。愛掏網(wǎng) - it200.com
  • KeyboardInterrupt:用戶輸入中斷鍵 (Ctrl+C)。愛掏網(wǎng) - it200.com
  • MemoryError:內存溢出錯誤(對于Python解釋器不是致命的)。愛掏網(wǎng) - it200.com
  • NameError:嘗試訪問一個不存在的變量。愛掏網(wǎng) - it200.com
  • NotImplementedError:尚未實現(xiàn)的方法。愛掏網(wǎng) - it200.com
  • OSError:操作系統(tǒng)產(chǎn)生的異常(例如Open文件時發(fā)生錯誤)。愛掏網(wǎng) - it200.com
  • OverflowError:數(shù)值運算超出最大限制。愛掏網(wǎng) - it200.com
  • ReferenceError:嘗試訪問已經(jīng)被垃圾回收機制回收的對象。愛掏網(wǎng) - it200.com
  • RuntimeError:一般運行時錯誤。愛掏網(wǎng) - it200.com
  • StopIteration:迭代器沒有更多的值。愛掏網(wǎng) - it200.com
  • SyntaxError:Python語法錯誤。愛掏網(wǎng) - it200.com
  • IndentationError:縮進錯誤。愛掏網(wǎng) - it200.com
  • TabError:Tab和空格混淆。愛掏網(wǎng) - it200.com
  • SystemError:一般的解釋器系統(tǒng)錯誤。愛掏網(wǎng) - it200.com
  • SystemExit:程序退出。愛掏網(wǎng) - it200.com
  • TypeError:不同類型間的無效操作。愛掏網(wǎng) - it200.com
  • UnboundLocalError:訪問一個未初始化的本地變量。愛掏網(wǎng) - it200.com
  • UnicodeError:Unicode相關的錯誤。愛掏網(wǎng) - it200.com
  • UnicodeEncodeError:Unicode編碼時錯誤。愛掏網(wǎng) - it200.com
  • UnicodeDecodeError:Unicode解碼時錯誤。愛掏網(wǎng) - it200.com
  • UnicodeTranslateError:Unicode轉換時錯誤。愛掏網(wǎng) - it200.com
  • ValueError:傳入無效的參數(shù)。愛掏網(wǎng) - it200.com
  • ZeroDivisionError:除數(shù)為0。愛掏網(wǎng) - it200.com

2. try/except

try/except語句用于捕獲異常。愛掏網(wǎng) - it200.com語法如下:

try:
    # 可能會發(fā)生異常的代碼塊
except 異常類型1:
    # 處理異常的代碼塊
except 異常類型2:
    # 處理異常的代碼塊
...
else:
    # 如果try代碼塊沒有異常,則執(zhí)行else代碼塊。愛掏網(wǎng) - it200.com
finally:
    # 不管有沒有異常都會執(zhí)行的代碼塊

以下是一個簡單的示例:

try:
    a = 4/0
except ZeroDivisionError:
    print("除數(shù)為0!")

在上面的例子中,我們嘗試將4除以0,會產(chǎn)生一個ZeroDivisionError,程序會跳到except塊并輸出“除數(shù)為0!”。愛掏網(wǎng) - it200.com

如果您不確定會出現(xiàn)哪種異常,可以使用一個通用的except捕捉所有的異常:

try:
    # 可能會發(fā)生異常的代碼塊
except Exception as e:
    print(e)

在上面的例子中,我們使用Exception作為except塊的異常類型。愛掏網(wǎng) - it200.com由于Exception是所有異常的基類,因此它可以捕獲所有類型的異常。愛掏網(wǎng) - it200.com

你也可以同時捕捉多個異常類型:

try:
    # 可能會發(fā)生異常的代碼塊
except (ValueError, TypeError):
    # 處理這兩種異常的代碼塊

當我們需要在程序中執(zhí)行一些清理操作時,可以使用finally塊。愛掏網(wǎng) - it200.comfinally塊中的代碼是不管try塊中是否發(fā)生異常都會執(zhí)行的。愛掏網(wǎng) - it200.com

try:
    # try塊中的代碼
except:
    # 無論try塊中有沒有異常,都會執(zhí)行這個塊
finally:
    # 不管try塊中有沒有異常,都會執(zhí)行這個塊

以下是一個使用finally塊的例子:

try:
    f = open("file.txt", mode="r")
    # 執(zhí)行一些操作
finally:
    f.close()

在上面的例子中,我們打開文件,并在try塊中編寫一些代碼來執(zhí)行操作。愛掏網(wǎng) - it200.com不管try塊中有沒有發(fā)生異常,我們都有一個finally塊,這個塊中包含了關閉打開的文件的代碼。愛掏網(wǎng) - it200.com這種方法可以確保文件被正確地關閉,而不會因為一個異常而被遺漏。愛掏網(wǎng) - it200.com

3. try/except…else

可以使用else塊來指定“try”塊中沒有發(fā)生異常時要執(zhí)行的代碼:

try:
    # 可能會發(fā)生異常的代碼塊
except Exception as e:
    # 異常代碼塊
else:
    # 如果try代碼塊沒有異常,則執(zhí)行else代碼塊

以下是一個簡單的示例:

try:
    a = 4/2
except ZeroDivisionError:
    print("除數(shù)為0!")
else:
    print("計算結果為:", a)

在上面的例子中,我們嘗試將4除以2,在這個過程中不會出現(xiàn)異常,因此程序會跳轉到else代碼塊,并輸出“計算結果為:2”。愛掏網(wǎng) - it200.com

聲明:所有內容來自互聯(lián)網(wǎng)搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。
發(fā)表評論
更多 網(wǎng)友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 国产成人天天5g影院| 四虎影永久在线高清免费| 精品国产综合区久久久久久| 久久高清内射无套| 国产妇乱子伦视频免费| 巨大挺进她的花茎| 黄色网址免费大全| 五月天婷五月天综合网站| 国产精品青青青高清在线| 波多野结衣忆青春| CAOPORN国产精品免费视频| 偷自拍亚洲视频在线观看99| 国产精品自在拍一区二区不卡| 日本不卡高字幕在线2019| 男男性彩漫漫画无遮挡| juy639黑人教练君岛美绪| 四虎影视久久久免费| 在线观看国产小视频| 日本特黄特色免费大片| 色狠狠一区二区三区香蕉| 69国产精品视频免费| 两根硕大的挤进了小雪| 国产亚洲欧美一区二区| 国产精品福利尤物youwu| 日本一本一区二区| 欧美一欧美一区二三区性 | 国产欧美在线观看一区| 天天射天天操天天| 无人视频免费观看免费直播在线观看| 欧美激情视频一区二区三区 | 色釉釉www网址| 中文字幕侵犯一色桃子视频| 国产乱码在线观看| 国产精品视频李雅| 天堂网www最新版资源在线| 日本福利视频导航| 男插女青青影院| 美女扒开尿口让男人捅爽| 99这里只有精品| 一区视频在线播放| 亚洲av永久无码嘿嘿嘿|