91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

python程序出錯的處理方法

發布時間:2020-09-02 13:59:40 來源:億速云 閱讀:211 作者:小新 欄目:編程語言

這篇文章主要介紹了python程序出錯的處理方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

在程序運行的過程中,如果發生了錯誤,可以事先約定返回一個錯誤代碼,這樣,就可以知道是否有錯,以及出錯的原因。在操作系統提供的調用中,返回錯誤碼非常常見。比如打開文件的函數open(),成功時返回文件描述符(就是一個整數),出錯時返回-1。

用錯誤碼來表示是否出錯十分不便,因為函數本身應該返回的正常結果和錯誤碼混在一起,造成調用者必須用大量的代碼來判斷是否出錯:

def foo():
    r = some_function()
    if r==(-1):
        return (-1)
    # do something
    return r
 
def bar():
    r = foo()
    if r==(-1):
        print('Error')
    else:
        pass

一旦出錯,還要一級一級上報,直到某個函數可以處理該錯誤(比如,給用戶輸出一個錯誤信息)。

所以高級語言通常都內置了一套try...except...finally...的錯誤處理機制,Python也不例外。

try

讓我們用一個例子來看看try的機制:

try:
    print('try...')
    r = 10 / 0
    print('result:', r)
except ZeroDivisionError as e:
    print('except:', e)
finally:
    print('finally...')
print('END')

當我們認為某些代碼可能會出錯時,就可以用try來運行這段代碼,如果執行出錯,則后續代碼不會繼續執行,而是直接跳轉至錯誤處理代碼,即except語句塊,執行完except后,如果有finally語句塊,則執行finally語句塊,至此,執行完畢。

上面的代碼在計算10 / 0時會產生一個除法運算錯誤:

try...
except: division by zero
finally...
END

從輸出可以看到,當錯誤發生時,后續語句print('result:', r)不會被執行,except由于捕獲到ZeroDivisionError,因此被執行。最后,finally語句被執行。然后,程序繼續按照流程往下走。

感謝你能夠認真閱讀完這篇文章,希望小編分享python程序出錯的處理方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

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

AI

页游| 若羌县| 遵义市| 措勤县| 山阳县| 泌阳县| 保定市| 景泰县| 三都| 连城县| 乌拉特中旗| 淮滨县| 津市市| 左云县| 五华县| 察哈| 枞阳县| 舟曲县| 同仁县| 讷河市| 黑河市| 朝阳县| 郎溪县| 仙游县| 建德市| 林西县| 镶黄旗| 若羌县| 札达县| 滨州市| 宜兴市| 历史| 大关县| 双桥区| 广丰县| 丰镇市| 平罗县| 惠东县| 安国市| 文昌市| 大宁县|