溫馨提示×

溫馨提示×

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

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

python raise的基本使用

發(fā)布時間:2020-10-19 07:53:44 來源:腳本之家 閱讀:148 作者:新碼農(nóng) 欄目:開發(fā)技術(shù)

簡介

當(dāng)程序出現(xiàn)錯誤,python會自動引發(fā)異常,也可以通過raise顯示地引發(fā)異常。一旦執(zhí)行了raise語句,raise后面的語句將不能執(zhí)行。

1、演示raise用法

try:
  s = None
  if s is None:
    print("s 是空對象")
    # 如果引發(fā)NameError異常,后面的代碼將不能執(zhí)行
    raise NameError
  # 這句不會執(zhí)行,但是后面的except還是會走到
  print(len(s))
except TypeError:
  print("空對象沒有長度")
 
s = None
if s is None:
  raise NameError
# 如果不使用try......except這種形式,那么直接拋出異常,不會執(zhí)行到這里
print("is here?")

2、觸發(fā)異常

我們可以使用raise語句自己觸發(fā)異常

raise語法格式如下:

raise [Exception [, args [, traceback]]]

語句中 Exception 是異常的類型(例如,NameError)參數(shù)標(biāo)準(zhǔn)異常中任一種,args 是自已提供的異常參數(shù)。

最后一個參數(shù)是可選的(在實(shí)踐中很少使用),如果存在,是跟蹤異常對象。

3、實(shí)例

一個異常可以是一個字符串,類或?qū)ο蟆?Python的內(nèi)核提供的異常,大多數(shù)都是實(shí)例化的類,這是一個類的實(shí)例的參數(shù)。

def mye(level):
  if level < 1:
    raise Exception("Invalid level!")
    # 觸發(fā)異常后,后面的代碼就不會再執(zhí)行
 
try:
  # 觸發(fā)異常
  mye(0)
except Exception as err:
  print(1, err)
else:
  print(2)

以上就是python raise的基本使用的詳細(xì)內(nèi)容,更多關(guān)于python raise的資料請關(guān)注億速云其它相關(guān)文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI