日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

艺赛旗(RPA)Python 学习之异常

發布時間:2023/12/14 python 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 艺赛旗(RPA)Python 学习之异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

藝賽旗 RPA8.0全新首發免費下載 點擊下載
http://www.i-search.com.cn/index.html?from=line1 詳細內容請參看藝賽旗官網支持欄目:RPA社區
點擊鏈接進入http://support.i-search.com.cn/

  • 異常簡介:
  • 異常是一個事件,該事件會在程序執行過程中發生,影響了程序的正常執行。一般情況下,在 Python 無法正常處理程序時就會發生一個異常。異常是 Python 對象,表示一個錯誤。當 Python 腳本發生異常時我們需要捕獲處理它,否則程序會終止執行

    造成異常的原因:1. 程序編寫有問題造成,產生 Bug ,必須處理 2. 用戶輸入造成的 3. 無法預料的異常:磁盤已滿、斷網等

    Python 的錯誤其實也是類 class,錯誤類型種類很多。而且所有的錯誤類型都繼承自 BaseException

    為什么要處理異常?為了使程序遇到問題時不讓程序結束,而越過錯誤繼續向下執行。Python 內置了一套異常處理機制,來幫助我們進行錯誤處理

    處理異常:try except finally 作用:try 語句塊用來檢測程序中的錯誤,從而讓 except 語句捕獲錯誤信息并處理。執行完 except 后,如果有 finally 語句塊,則執行 finally 語句塊,至此,執行完畢。

  • 常用操作:

  • 報出對應的異常:

  • try:

    print(3 / 0)

    except ZeroDivisionError as e:

    print(“除數為零了”)

    except NameError as e:

    print(“變量未定義”)

    else: # 注意:else語句可有可無

    print(“代碼沒有問題”)

    print(“程序繼續執行”)
    2. 報出對應的異常:

    try:

    print(4 / 0)

    except: # 使用 except 捕獲常規錯誤,而不使用任何的錯誤類型

    print(“程序出現了錯誤”)

    使用 except 帶著多種異常,匹配到其中一種即報錯

    try:

    print(5 / 0)

    except(NameError, ZeroDivisionError):

    print(“出現了 ZeroDivisionError 或 NameError”)
    3. 特殊情況

    “”"

    特殊:

    1.錯誤其實是 class(類),所有的錯誤都繼承自 BaseException,所以在

    捕獲的時候,它不僅捕獲了該類型的錯誤,還把子類一網打盡

    “”"

    try:

    print(5 / 0)

    except BaseException as e:

    print(“出現了BaseException”)

    except ZeroDivisionError as e:# 不會被執行

    print(“除數為零了”)

    “”"

    2.跨越多層調用,main 調用了 func2 ,2 調用了 1 ,

    1 出現了錯誤,但是只要main捕獲到了就可以處理

    “”"

    def func1(num):

    print(1 / num)

    def func2(num):

    func1(num)

    def main():

    func2(0)

    try:

    main()

    except ZeroDivisionError as e:

    print(“調用的函數出現了錯誤”)
    4.try except finally

    try:

    print(1 / 0)

    except ZeroDivisionError as e:

    print(“除數為零了”)

    finally:

    print(“finally是一定會被執行的”)

    try:

    print(1 / 0)

    finally:

    print(“finally是一定會被執行的”)
    5.1 print() 語句調試

    “”"

    通過 print() 把可能有問題的變量打印出來

    用 print()最大的壞處是將來還得刪掉它,

    想想程序里到處都是print(),運行結果也會包含很多垃圾信息

    “”"

    def div(a, b):

    print(b) # b可能會為 0

    print(a / b)

    div(10, 1)
    5.2 assert 斷言調試

    “”"

    用 print() 來查看的地方,都可以用斷言(assert)來替代:

    斷言失敗時,assert 語句本身就會拋出 AssertionError

    “”"

    def func(num, div):

    assert (div != 0), “div不能為零”

    return num / div

    print(func(10, 0))
    5.3 logging 調試

    import logging

    logging.basicConfig(level=logging.DEBUG)

    “”"

    logging 的好處:允許你指定記錄信息的級別,有debug,info,warning,error

    4個級別,當我們指定 level=logging.INFO 時,logging.DEBUG 就不起作用了。

    級別高的覆蓋級別低的,所以可以輸出不同級別的信息,也不用刪除,最后統一控制輸出各個級別的信息。

    logging的另一個好處是通過簡單的配置,一條語句可以同時輸出到不同的地方,比如console和文件

    “”"

    def div(a, b):

    logging.info(b)

    print(a / b)

    div(10, 0)
    以上為個人整理,有問題的地方還請大家多提提意見。

    總結

    以上是生活随笔為你收集整理的艺赛旗(RPA)Python 学习之异常的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。