1. <dd id="jcnig"><nav id="jcnig"><delect id="jcnig"></delect></nav></dd>
      <dfn id="jcnig"><tt id="jcnig"><sup id="jcnig"></sup></tt></dfn>

    2. <cite id="jcnig"></cite>
      <cite id="jcnig"><tt id="jcnig"></tt></cite>

      <address id="jcnig"><nav id="jcnig"></nav></address>
    3. <address id="jcnig"><nav id="jcnig"></nav></address>
      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 您更想做哪個方向的工作?

      獲取測試結果
       
      課程資料、活動優惠 領取通道
       
       
      日本一本二本三本av网站,一本加勒比HEZYO东京热高清,一本久久A久久精品综合