Python學(xué)習(xí)記錄-異常處理函數(shù)的簡單使用

有時一些程序即便語法合規(guī),但在執(zhí)行過程中也會出現(xiàn)錯誤,比如下面這個例子

def spam(divideBy):
    return 10/divideBy

print(spam(10))
print(spam(20))
print(spam(0))
print(spam(1))

執(zhí)行結(jié)果為


程序在執(zhí)行到print(spam(0))時出現(xiàn)錯誤,因為除數(shù)不能為0,并且 后續(xù)的內(nèi)容也未執(zhí)行

設(shè)想如果一個程序比較大,我希望即便出現(xiàn)這種錯誤后,只需要告訴我有錯誤出現(xiàn),但不希望影響后續(xù)內(nèi)容的執(zhí)行

這時候就可以用到 tryexcept的函數(shù)組合

比如上面的例子,我不確定 spam是否會出錯,可以這樣改

def spam(divideBy):
    try:
        return 10/divideBy
    except:
        print("Error: Invalid divideBy")


print(spam(10))
print(spam(20))
print(spam(0))
print(spam(1))

只是在子函數(shù)中增加了 try、except,同樣的調(diào)用方式,這次程序在執(zhí)行過程中,雖然依舊出錯,但并沒有停下來,只是打印的ERROR信息,并繼續(xù)執(zhí)行后續(xù)內(nèi)容

值得注意的是,如果如果try中的內(nèi)容發(fā)生錯誤,會直接跳到except

def spam(divideBy):
    return 10/divideBy

try:
    print(spam(10))
    print(spam(20))
    print(spam(0))
    print(spam(1))
except:
    rint("Error: Invalid divideBy")

print(spam(0))后面的內(nèi)容并沒有執(zhí)行,而是直接跳到except


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容