怎麼學好Python異常處理 五種處理機制是什麼

  在Python無法正確處理程序時,就會發生異常;當發生異常時,我們需要捕獲它並進行處理,否則程序會終止運行。但如何處理異常呢?有哪些方法?接下來的就給大家分享Python異常處理機制。

  想要學好Python異常處理,我們要了解四個關鍵詞和五種處理機制:

  四個關鍵詞:

  try:包含着可能引發異常的代碼;

  except:則用來捕捉和處理髮生的異常;

  else:如果try塊中沒有拋出異常,則執行else塊;

  finally:無論是否發生異常都會被執行,通常用來釋放try塊中申請的資源。

  五種處理機制:

  try....except....

  參考代碼:

  str="Leinor"

  try:

  print(str[100])

  except IndexError:

  print("下標越界")

  print("error")

  print("end......")

  當程序執行到第2句時發現try語句,進入try語句塊執行,發生異常,回到try語句層,尋找後面是否有except語句,找到except語句後,會調用自定義的異常處理器,except將異常處理完畢後,程序繼續往下執行,即執行except下的語句,try語句結束後,繼續向下執行print(end...)語句。

  try....except....finally

  參考代碼:

  str="Leinor"

  try:

  print(str[100])

  except IndexError:

  print("下標越界")

  finally:

  print("try語句執行結束")

  print("end......")

  finally語句表示無論異常是否發生,finally中的語句都要執行。

  try...finally....

  參考代碼:

  str="Leinor"

  try:

  print(str[100])

  finally:

  print("try語句執行結束")

  print("end......")

  finally語句表示,無論異常發生與否,finally中的語句都要執行,但是由於沒有except處理器,finally執行完畢後程序便中斷,這種情況下,最後一個print語句不會執行,倒數第二個(finally裏的print)語句會執行。如果try語句中沒有異常,那麼最後一個print會執行。

  assert

  參考代碼:

  assert False "error..."

  print("end......")

  assert語句先判斷assert後面緊跟的語句是True還是False,如果是True則繼續往下執行語句,如果是False則中斷程序,調用默認的異常處理器,同時輸出assert False語句逗號後面的提示信息。程序中斷提示error,後面的語句不執行。

  with...as

  參考代碼:

  with open("d:Leinor.txt","r") as f:

  f.read()

  print(2/0)

  print("end...")

  我們平時在使用類似文件的流對象時,使用完畢後要調用close方法關閉,很麻煩。這裏with...as語句提供了一個非常方便的替代方法,open打開文件後將返回的文件流對象賦值給f,然後在with語句塊中使用,with語句塊完畢之後,會自動關閉文件。如果with語句發生異常,會調用默認的異常處理器,文件也會正常關閉,但後面的print語句不執行。

  想了解更多Python異常處理方法或Python進階知識點,你可以好好學習一下,專業學習帶你一站式搞定不可思議的Python技術。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章