中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python3如何實現操作文件的異常處理

發布時間:2021-10-18 15:21:29 來源:億速云 閱讀:147 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“python3如何實現操作文件的異常處理”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“python3如何實現操作文件的異常處理”這篇文章吧。

在執行python腳本時,正常運行的時候,也可能發生錯誤,返回的錯誤類型就是報錯信息,我們可以針對其返回的錯誤類型執行相應的語句,錯誤類型有很多,如:ValueError、TypeError、NameError、ZeroDivisionError.....

1、try / except

來個簡單的語法,如下:

while True:
    try:
        x = int(input('請輸入一個數字:'))
        break
    except ValueError:
        print('您輸入的不是一個數字,請再次嘗試!')

執行結果如下:

請輸入一個數字:d
您輸入的不是一個數字,請再次嘗試!
請輸入一個數字:3

try語句按照如下的方式工作:

  • 首先,執行try子句(在關鍵字try和except之間的語句)。

  • 如果沒有發生異常,則忽略except子句,try子句執行后結束。

  • 如果在執行try子句的過程中發生了異常,那么try子句余下的部分將會被忽略,如果異常類型和except之后定義的異常類型相同,則會執行except關鍵字下的子句。

  • 如果一個異常沒有與任何except匹配,那么這個異常將會傳遞給上層的try中。

  • 一個try語句可以包含多個except子句,分別來處理不同的特定異常,但是最多只有一個except分支會被執行。

  • 處理程序將只針對對應的try子句中的異常進行處理,而不是其他的try的處理程序中的異常。

一個except子句可以同時處理多個異常,這些異常被放在括號中成為一個元組,栗子如下:

except (RuntimeError,TypeError,NameError,ValueError):
    pass

注:pass表示忽略此異常,不執行任何語句。

最后一個except子句可以忽略異常的名稱,它被當作通配符使用。栗子如下:

try:
    f = open('myfile.txt')
    s = f.readline()
    i = int(s.strip())
except OSError as err:
    print("OS error: {0}".format(err))
except ValueError:
    print("不能將數據轉換為整數類型!")
except:
    pass

2、try / except / else

try/except語句還有一個可選的else子句,如果使用這個子句,那么必須放在所有except子句之后,else子句將在try子句沒有發生任何異常的時候執行。

語法格式如下:

    try:
        #正常執行的代碼塊
    except 異常類型:
        #發生異常時執行的代碼塊
    else:
        # 沒有異常時執行的代碼塊

栗子如下:

while True:
    try:
        x = int(input('請輸入一個數字:'))
        # break
    except (ValueError,NameError,Exception):
        print("您輸入的不是數字!")
    else:
        print('用戶輸入完畢!')

使用else子句比把所有的語句都放在try子句里要好,這樣可以避免一些意想不到,而except又無法捕獲的異常。

異常處理并不僅僅處理那些直接發生在try子句中的異常,而且還能處理子句中調用的函數(甚至間接調用的函數)里拋出異常,栗子如下:

try:
    this_fails()
except ZeroDivisionError as err:
    print('Handling run-time error:', err)

在上面的栗子中,如果函數中報錯類型為:ZeroDivisionError,那么將會輸出以下內容:

Handling run-time error:err

3、try / finally

try / finally語句無論是否發生都將執行最后的代碼。

語法格式:

try:
    #正常執行的代碼塊
except 異常類型:
    #發生異常時執行的代碼塊
else:
    #沒有異常時執行的代碼塊
finally:
    #不管有沒有異常都會執行的代碼塊

示例如下:

while True:
    try:
        x = int(input('請輸入一個數字:'))
        # break
    except (ValueError,NameError,Exception):
        print("您輸入的不是數字!")
    else:
        print('用戶輸入完畢!')
    finally:
        print("這句話,無論異常是否發生都會執行。")

以上是“python3如何實現操作文件的異常處理”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

忻州市| 静宁县| 图片| 利津县| 卢湾区| 浮山县| 石泉县| 汉中市| 岳西县| 和田县| 五寨县| 汝南县| 中卫市| 法库县| 徐闻县| 洛扎县| 巴彦淖尔市| 盘山县| 都江堰市| 宜兰市| 巴马| 于田县| 马边| 梧州市| 泸溪县| 横峰县| 丰台区| 湾仔区| 英德市| 乌拉特前旗| 工布江达县| 昭觉县| 顺昌县| 阜康市| 九江县| 纳雍县| 虹口区| 正阳县| 泽普县| 昆山市| 青州市|