欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python學習之異常處理的避坑指南

 更新時間:2022年03月17日 15:04:59   作者:渴望力量的哈士奇  
這篇文章主要介紹了Python中異常處理的一些避坑指南,文中的示例代碼講解詳細,對我們學習Python有一定幫助,感興趣的小伙伴可以學習一下

最終想了想,還是把這個章節(jié)單獨拎出來,雖然字數(shù)不多。

在代碼中,存在return也應當執(zhí)行finally;

存在return時,else是不執(zhí)行的;

無return時,else正常執(zhí)行;

如果發(fā)生異常,則else也不執(zhí)行

finally 與 return 的執(zhí)行順序

示例代碼如下:

class Test(object):

? ? def division(self, num1, num2):
? ? ? ? try:
? ? ? ? ? ? if num2 == 0:
? ? ? ? ? ? ? ? return '除數(shù)不能為0'
? ? ? ? ? ? avg = num1 / num2
? ? ? ? ? ? return avg
? ? ? ? except Exception as e:
? ? ? ? ? ? print('ERROR')
? ? ? ? finally:
? ? ? ? ? ? print('FINALLY')


if __name__ == '__main__':
? ? test = Test()
? ? print(test.division(6, 0))
? ??
# >>> 執(zhí)行結(jié)果如下:
# >>> FINALLY
# >>> 除數(shù)不能為0?

注意:即使有return也要是會執(zhí)行finally的,而且是在return之前執(zhí)行它。那么最后的結(jié)果為。

else 與 return 的執(zhí)行順序

示例代碼如下:

class Test(object):

? ? def division(self, num1, num2):
? ? ? ? try:
? ? ? ? ? ? avg = num1 / num2
? ? ? ? ? ? return avg
? ? ? ? except Exception as e:
? ? ? ? ? ? print('ERROR')
? ? ? ? else:
? ? ? ? ? ? print('No ERROR')
? ? ? ? finally:
? ? ? ? ? ? print('FINALLY')


if __name__ == '__main__':
? ? test = Test()
? ? print(test.division(6, 2))


# >>> 執(zhí)行結(jié)果如下:
# >>> FINALLY
# >>> 3.0

注意:有return時else是不執(zhí)行的。所以執(zhí)行結(jié)果如上面的示例代碼

那么 無 return 時,執(zhí)行結(jié)果又怎樣?

class Test(object):

? ? def division(self, num1, num2):
? ? ? ? try:
? ? ? ? ? ? avg = num1 / num2
? ? ? ? ? ? # return avg
? ? ? ? except Exception as e:
? ? ? ? ? ? print('ERROR')
? ? ? ? else:
? ? ? ? ? ? print('No ERROR')
? ? ? ? finally:
? ? ? ? ? ? print('FINALLY')


if __name__ == '__main__':
? ? test = Test()
? ? print(test.division(6, 2))
? ??
# >>> 執(zhí)行結(jié)果如下:
# >>> No ERROR
# >>> FINALLY
# >>> None

從運行結(jié)果我們得出結(jié)論:無return時,正常執(zhí)行else 。

如果是發(fā)生異常的情況下, else 也是不會執(zhí)行的。代碼示例如下:

class Test(object):

? ? def division(self, num1, num2):
? ? ? ? try:
? ? ? ? ? ? avg = num1 / num2
? ? ? ? ? ? return avg
? ? ? ? except Exception as e:
? ? ? ? ? ? print('ERROR')
? ? ? ? else:
? ? ? ? ? ? print('No ERROR')
? ? ? ? finally:
? ? ? ? ? ? print('FINALLY')


if __name__ == '__main__':
? ? test = Test()
? ? print(test.division(4, 0))
? ??
# >>> 執(zhí)行結(jié)果如下:
# >>> ERROR
# >>> FINALLY
# >>> None

總結(jié)

1、finally 與 return 的執(zhí)行 順序;即使有 return 也要執(zhí)行 finally 的, 而且是在 return 之前執(zhí)行它。

2、else 與 return 的執(zhí)行順序;有 return 時, else 是不執(zhí)行的。無 return 時, 正常執(zhí)行的 else 如果發(fā)生異常則不會繼續(xù)執(zhí)行else。

到此這篇關(guān)于Python學習之異常處理的避坑指南的文章就介紹到這了,更多相關(guān)Python異常處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用xlrd讀取Excel格式文件的方法

    Python使用xlrd讀取Excel格式文件的方法

    這篇文章主要介紹了Python使用xlrd讀取Excel格式文件的方法,實例分析了Python操作Excel文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • python中的列表推導淺析

    python中的列表推導淺析

    這篇文章主要介紹了python中的列表推導,需要的朋友可以參考下
    2014-04-04
  • yolov5模型配置yaml文件詳細講解

    yolov5模型配置yaml文件詳細講解

    YOLOV5模型配置文件存放在modules文件夾下,這里使用的是 yolov5s.yaml,下面這篇文章主要給大家介紹了關(guān)于yolov5模型配置yaml文件的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 淺談pandas篩選出表中滿足另一個表所有條件的數(shù)據(jù)方法

    淺談pandas篩選出表中滿足另一個表所有條件的數(shù)據(jù)方法

    今天小編就為大家分享一篇淺談pandas篩選出表中滿足另一個表所有條件的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python中判斷集合范圍的方法小結(jié)

    python中判斷集合范圍的方法小結(jié)

    這篇文章主要介紹了python中判斷集合范圍的方法小結(jié),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn)

    Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn)

    這篇文章主要介紹了Python 爬蟲實現(xiàn)增加播客訪問量的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • python能自學嗎

    python能自學嗎

    在本篇文章里小編給大家整理了關(guān)于python如何自學的相關(guān)理論性文章,有需要的朋友們可以參考下。
    2020-06-06
  • Pycharm安裝第三方庫并更換鏡像的詳細教程

    Pycharm安裝第三方庫并更換鏡像的詳細教程

    在使用pycharm學習python的時候,經(jīng)常需要第三方庫,沒有第三方庫程序就會報錯,pycharm也會提醒你要安裝所需要的庫,下面這篇文章主要給大家介紹了關(guān)于Pycharm安裝第三方庫并更換鏡像的詳細教程,需要的朋友可以參考下
    2023-05-05
  • python中的super如何使用

    python中的super如何使用

    這篇文章主要介紹了python中的super,python中的super,名為超類,可以簡單的理解為執(zhí)行父類的__init__函數(shù),本文就著重看下super的具體作用,需要的朋友可以參考下
    2022-03-03
  • keras獲得model中某一層的某一個Tensor的輸出維度教程

    keras獲得model中某一層的某一個Tensor的輸出維度教程

    今天小編就為大家分享一篇keras獲得model中某一層的某一個Tensor的輸出維度教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01

最新評論