<noframes id="xh9jd"><menuitem id="xh9jd"></menuitem>

      <address id="xh9jd"></address>

        <ol id="xh9jd"><th id="xh9jd"><span id="xh9jd"></span></th></ol>

        <noframes id="xh9jd">

        400-650-7353

        精品課程

        您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎知識】Python處理異常語句

        【Python基礎知識】Python處理異常語句

        • 發布: 優就業it培訓
        • 來源:優就業
        • 2021-06-18 18:26:16
        • 閱讀()
        • 分享
        • 手機端入口

        1、try-except語句

        在代碼中出現的異常,除了可以看到解釋器報錯外,還可以捕獲并處理它們。在Python中使用try-except語句處理異常,語法格式如下:

        try:

        代碼塊1

        except 異常名稱:

        代碼塊2

        try-except語句的工作流程如下:

        ①執行在try和except之間的代碼塊1,如果發生了異常,則會根據異常類型提交處理,這一過程為異常捕獲。

        ②如果發生except 后指定的異常,那么跳過代碼塊1中剩余的代碼,執行except語句下面的代碼塊2。成功處理指定異常的過程稱為異常處理。

        ③如果沒有發生指定的異常,那么執行完try和except之間的代碼塊1后,跳過except語句下面的代碼塊2,繼續執行后面的代碼。

        下面是一個處理異常的示例,它讓用戶輸入兩個整數,并求出這兩個整數相除的結果,由于用戶輸入的除數可能為零,除數為零就會發生異常(使用腳本模式運行):

        1. x = int(input('請輸入被除數:')) 
        2. y = int(input('請輸入除數:')) 
        3. try
        4.     result = x / y 
        5.     print('結果為{}'.format(result)) 
        6. except ZeroDivisionError: 
        7.     print('除數不能為零'
        8. print('=' * 30)   # 這一行用來確定程序運行到哪了 

        輸入幾組數據,測試運行結果:

        1. 請輸入被除數:10 
        2. 請輸入除數:5 
        3. 結果為2.0 
        4. ============================== 
        5. 請輸入被除數:10 
        6. 請輸入除數:0 
        7. 除數不能為零 
        8. ============================== 

        由此可知,如果程序發生了指定異常,并且成功將它捕獲,那么Python解釋器并不會報錯,而是跳過try和except之間的代碼塊,執行except語句下面的的代碼塊。

        2、else語句

        在try-except語句塊中,還可以包含else語句,其語法格式如下:

        try:

        代碼塊1

        except:

        代碼塊2

        else:

        代碼塊3

        當未引發任何異常時,執行else代碼塊:

        1. try
        2.     x = int(input('請輸入被除數:')) 
        3.     y = int(input('請輸入除數:')) 
        4.     result = x / y 
        5. except (ZeroDivisionError, ValueError):  # 這里同時捕獲兩種異常 
        6.     print('除數不能為零, 且被除數與除數必須為數字'
        7. else
        8.     print('=' * 30
        9.     print('結果為{}'.format(result)) 

        輸入一組數據,運行結果:

        1. 請輸入被除數:10 
        2. 請輸入除數:5 
        3. ============================== 
        4. 結果為2.0 

        3、finally語句

        Python中的finally用來做后續的“清理工作”,其語法格式如下:

        try:

        代碼塊1

        except :

        代碼塊2

        finally :

        代碼塊3

        如果存在finally語句,無論try-except代碼塊是否發生錯誤,finally代碼塊都將執行:

        1. try
        2.     x = int(input('請輸入被除數:')) 
        3.     y = int(input('請輸入除數:')) 
        4.     result = x / y 
        5. except (ZeroDivisionError, ValueError):  
        6.     print('除數不能為零, 且被除數與除數必須為數字')  
        7. else
        8.     print('結果為{}'.format(result)) 
        9. finally
        10.     print('再見!'

        當發生異常時,else代碼塊并沒有執行,但是finally代碼塊執行了:

        1. 請輸入被除數:10 
        2. 請輸入除數:0 
        3. 除數不能為零, 且被除數與除數必須為數字 
        4. 再見! 

        當未發生異常時,else代碼塊執行了,finally代碼塊也執行了:

        1. 請輸入被除數:10 
        2. 請輸入除數:5 
        3. 結果為2.0 
        4. 再見! 

        因此,當存在try-except-else-finally語句時,首先執行try-except代碼塊;如果沒有異常,那么執行else代碼塊,否則不執行;而finally代碼塊無論怎樣都會執行。

        4、raise語句

        raise語句用來拋出異常,可以自定義引發哪種錯誤以及向用戶顯示文本。拋出自定義異常時,可以在異常類型后加上括號,并在括號內寫出要顯示的文本。在下面的示例中,引發類型異常時,自定義的提示文本是“類型不對”:

        1. >>> raise TypeError('類型不對'
        2. Traceback (most recent call last): 
        3.   File "<stdin>", line 1in <module> 
        4. TypeError: 類型不對 

         

        學習疑問申請解答
        您的姓名
        您的電話
        意向課程
         

        中公優就業

        IT小助手

        掃描上方二維碼添加好友,請備注:599,享學習福利。

        >>本文地址:
        注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

        推薦閱讀

        優就業:ujiuye

        關注中公優就業官方微信

        • 關注微信回復關鍵詞“大禮包”,享學習福利
        QQ交流群
        在線疑問解答
        (加群備注“網站”)
        IT培訓交流群 加入群聊 +
        軟件測試 加入群聊 +
        全鏈路UI/UE設計 加入群聊 +
        Python+人工智能 加入群聊 +
        互聯網營銷 加入群聊 +
        Java開發 加入群聊 +
        PHP開發 加入群聊 +
        VR/AR游戲開發 加入群聊 +
        大前端 加入群聊 +
        大數據 加入群聊 +
        Linux云計算 加入群聊 +
        優就業官方微信
        掃碼回復關鍵詞“大禮包”
        享學習福利

        測一測
        你適合學哪門IT技術?

        1 您的年齡

        2 您的學歷

        3 您更想做哪個方向的工作?

        獲取測試結果
         
        課程資料、活動優惠 領取通道