国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python編程中的異常處理

這篇具有很好參考價值的文章主要介紹了Python編程中的異常處理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

什么是異常??

程序錯誤(errors)有時也被稱為程序異常(exceptions),這是每個編程人員都會經(jīng)常遇到的問題。在過去,當遇到這類情況時,程序會終止執(zhí)行并顯示錯誤信息,通常是以Traceback的形式展示詳細的異常報告。然而,Python提供了一項強大的功能,允許我們捕捉這些異常并編寫相應的異常處理程序。當異常被捕捉時,會執(zhí)行相應的異常處理程序,從而使程序能夠繼續(xù)執(zhí)行,而不是立即終止。這樣的機制極大地增強了程序的健壯性和容錯能力。

示例:

Python編程中的異常處理,python,開發(fā)語言

Python提供了多種內(nèi)置的異常類型

在Python中,異常是程序運行時發(fā)生的錯誤情況。Python提供了多種內(nèi)置的異常類型,用于處理不同的錯誤場景。以下是一些常見的Python異常種類:

  1. AttributeError:當訪問的對象屬性不存在或者不支持賦值時觸發(fā)。
  2. AssertionError:當assert斷言條件為假時拋出。
  3. ImportError:導入模塊或包時出錯,通常是由于路徑問題或名稱錯誤。
  4. IndexError:當訪問序列(如列表、元組或字符串)時,下標索引超出其范圍。
  5. KeyError:在字典中查找一個不存在的鍵時觸發(fā)。
  6. NameError:嘗試訪問一個未定義的變量時拋出。
  7. OSError:操作系統(tǒng)產(chǎn)生的異常,如文件操作錯誤。
  8. SyntaxError:當代碼中存在語法錯誤時拋出。
  9. TypeError:在運算或函數(shù)調用中,使用了不兼容的類型時觸發(fā)。例如,嘗試將整數(shù)和字符串相加。
  10. ValueError:當函數(shù)或操作的參數(shù)具有正確的類型但不合法時引發(fā)。例如,嘗試將非數(shù)字字符串轉換為整數(shù)。
  11. ZeroDivisionError:進行數(shù)學運算時除數(shù)為0時觸發(fā)。

當這些異常發(fā)生時,Python會中斷當前的執(zhí)行流程,并跳轉到異常處理代碼(如果有的話)。如果沒有適當?shù)漠惓L幚泶a,程序將終止并顯示錯誤信息。通過編寫tryexcept塊,可以捕獲這些異常并定義自定義的異常處理邏輯,從而使程序更加健壯和容錯。

捕獲異常try-except

基本捕獲異常方法

try :
指令               #預先設想可能引發(fā)錯誤異常的指令
except  異常對象: 
異常處理程序        #通常是指出異常原因,方便修正

實例代碼:

def div(x,y):
    try:
        return x / y
    except ZeroDivisionError :
        print("除數(shù)不可為0")

print(div(5,0))
print(div(2,2))

Python編程中的異常處理,python,開發(fā)語言

代碼解釋:?

當try塊中的代碼引發(fā)異常時,控制流會立即轉移到與之匹配的except塊。在這個例子中,except?ZeroDivisionError塊會捕獲ZeroDivisionError異常,并執(zhí)行塊內(nèi)的代碼,即打印出“除數(shù)不可為0”。

當您調用print(div(5,0))時,由于除數(shù)為0,會引發(fā)ZeroDivisionError異常,因此會執(zhí)行except塊中的代碼,打印出“除數(shù)不可為0”,并且函數(shù)返回None(因為沒有return語句在except塊中)。所以,第一個print語句的輸出是“除數(shù)不可為0”,而div(5,0)的返回值是None。

當您調用print(div(2,2))時,由于除數(shù)不為0,try塊中的代碼可以成功執(zhí)行,返回商1.0。因此,第二個print語句的輸出是1.0。

如果想要消除“None”,可用return,看下面這個例子:

def div(x,y):
    try:
        return x / y
    except ZeroDivisionError :
        return("除數(shù)不可為0")

print(div(5,0))
print(div(2,2))

輸出結果:

D:\anaconda2019\python.exe D:/pyprogect/異常處理/test1.py
除數(shù)不可為0
1.0

Process finished with exit code 0

捕獲多種異常

示例代碼:

def div(x,y):
    try:
        return x / y
    except (NameError,ZeroDivisionError) as err :
        return("捕獲到命名異常 或者 除0異常")

print(div(5,0))

輸出結果:

D:\anaconda2019\python.exe D:/pyprogect/異常處理/test1.py
捕獲到命名異常 或者 除0異常

捕獲所有異常

try-except可以獲取全部的異常?

def div(x,y):
    try:
        return x / y
    except :
        print("出現(xiàn)了某種異常。")

print(div(5,0))

或者使用Exception

def div(x,y):
    try:
        return x / y
    except Exception as e :
        print("出現(xiàn)了某種異常。")

print(div(5,0))

異常的else

def div(x,y):
    try:
         print(x / y)
    except Exception as e :
        print("出現(xiàn)了某種異常。")
    else:
        print("沒有出現(xiàn)異常。")


div(5,5)

?結果輸出:

D:\anaconda2019\python.exe D:/pyprogect/異常處理/test1.py
1.0
沒有出現(xiàn)異常。

Process finished with exit code 0

異常中的Finally

finally表示的是無論是否異常都要執(zhí)行的代碼。

try:
    print(5 / 2)
except Exception as e :
    print("出現(xiàn)了某種異常。")
else:
    print("該程序中沒有出現(xiàn)異常。")
finally:
    print("《程序結束》")

輸出結果:文章來源地址http://www.zghlxwxcb.cn/news/detail-827901.html

D:\anaconda2019\python.exe D:/pyprogect/異常處理/test1.py
2.5
該程序中沒有出現(xiàn)異常。
《程序結束》

Process finished with exit code 0

到了這里,關于Python編程中的異常處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 使用Python編程語言處理數(shù)據(jù) (Processing data using Python programm

    作者:禪與計算機程序設計藝術 Python作為一種高級、開源、跨平臺的編程語言,已經(jīng)成為當今最流行的數(shù)據(jù)分析和機器學習工具。本文介紹了使用Python編程語言處理數(shù)據(jù)的一些基礎知識,如列表、字典、集合、迭代器等,并對pandas、numpy、matplotlib、seaborn等數(shù)據(jù)分析庫進行了

    2024年02月07日
    瀏覽(27)
  • Java多線程編程中的異常處理策略

    Java多線程編程中的異常處理策略

    第1章:引言 大家好,我是小黑,咱們今天聊聊異常處理。想必大家在寫代碼的時候都遇到過各種各樣的異常吧?有時候,一個小小的異常如果處理不當,就可能導致整個程序崩潰。特別是在多線程環(huán)境下,異常處理就像是在拆雷,稍不留神,程序就可能“炸”了。 為啥多線

    2024年02月01日
    瀏覽(85)
  • 入門Python編程:了解計算機語言、Python介紹和開發(fā)環(huán)境搭建

    計算機語言是用來控制計算機行為的一種語言,通過它可以告訴計算機該做什么。計算機語言和人類語言在本質上沒有太大區(qū)別,只是交流的對象不同。 計算機語言發(fā)展經(jīng)歷了三個階段: 1. 機器語言 機器語言使用二進制編碼來編寫程序。 執(zhí)行效率高,但編寫起來麻煩。 2

    2024年02月09日
    瀏覽(113)
  • [開發(fā)語言][python][c++]:C++中的this指針和Python中的Self -- 26歲生日

    以朋友的新歲祝福開篇,祝筆者也祝大家??: 之前一直對 C++ 中的 this 和 python 中的 self 到底是什么關系,為什么 C++ 要顯式的寫出來,python 則不需要? 模糊不清,趁著周末整理一下相關結論,希望本篇文章可以解答這些問題,同時對C++和Python中的類加深些理解。 python 當

    2024年01月24日
    瀏覽(31)
  • [開發(fā)語言][c++][python]:C++與Python中的賦值、淺拷貝與深拷貝

    [開發(fā)語言][c++][python]:C++與Python中的賦值、淺拷貝與深拷貝

    寫在前面 :Python和C++中的賦值與深淺拷貝,由于其各自語言特性的問題,在概念和實現(xiàn)上稍微有點差異,本文將這C++和Python中的拷貝與賦值放到一起,希望通過對比學習兩語言實現(xiàn)上的異同點,加深對概念的理解。 C++中所謂的 淺拷貝 就是由(系統(tǒng)默認的) 拷貝構造函數(shù)對

    2024年02月02日
    瀏覽(28)
  • 【Python 基礎篇】Python 異常處理

    在軟件開發(fā)中,錯誤和異常是難以避免的。當我們編寫Python代碼時,有時候會遇到各種各樣的問題,例如無效的輸入、文件不存在、網(wǎng)絡連接問題等等。為了保證程序的穩(wěn)定性和可靠性,Python提供了異常處理機制,可以在程序出現(xiàn)錯誤時進行捕獲和處理,避免程序崩潰或給用

    2024年02月11日
    瀏覽(27)
  • Python教程(19)——python異常處理

    在計算機編程中,異常(Exception)是指在程序執(zhí)行過程中發(fā)生的錯誤或異常情況。當出現(xiàn)異常時,程序無法正常繼續(xù)執(zhí)行,因此需要采取一些特殊的措施來處理異常,以防止程序崩潰或產(chǎn)生意外結果。 異??梢栽诔绦蛑械娜魏蔚胤桨l(fā)生,可能是由錯誤的輸入、無效的操作、資

    2024年02月03日
    瀏覽(17)
  • 【Python學習】Python學習19- 異常處理

    【Python學習】Python學習19- 異常處理

    目錄 文章所屬專區(qū) Python學習 本章節(jié)主要說明Python的異常處理。 BaseException 所有異常的基類 SystemExit 解釋器請求退出 KeyboardInterrupt 用戶中斷執(zhí)行(通常是輸入^C) Exception 常規(guī)錯誤的基類 StopIteration 迭代器沒有更多的值 GeneratorExit 生成器(generator)發(fā)生異常來通知退出 StandardError 所

    2024年01月19日
    瀏覽(18)
  • Python基礎之異常處理

    Python基礎之異常處理

    程序在運行過程中,難免會遇到錯誤,有的是編寫人員疏忽造成的語法錯誤,有的是程序內(nèi)部隱含邏輯問題造成的數(shù)據(jù)錯誤,還有的是程序運行時與系統(tǒng)的規(guī)則沖突造成的系統(tǒng)錯誤,等等。如果出錯就不會執(zhí)行出錯語句后面的代碼,導致程序異常中斷,因此為了提高程序健壯

    2024年01月22日
    瀏覽(21)
  • Python 異常捕獲與處理

    當我們寫程序難免遇到報錯,專業(yè)的稱呼叫做異常,行業(yè)俗語叫做bug,由于異常情況出現(xiàn)會導致代碼停止運行,所以在編寫過程中要盡可能避免。 語法錯誤 這一類錯誤很好理解,相當于你不會寫,比如用if或for的時候不知道他們怎么寫,這種情況比較夸張了,好好學過的人都

    2023年04月22日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包