久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Python的異常參數(shù)

Python的異常參數(shù)

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-06 14:53:05 1699253585

一個(gè)異常可以帶上參數(shù),可作為輸出的異常信息參數(shù)。

你可以通過(guò)except語(yǔ)句來(lái)捕獲異常的參數(shù),如下所示:

try:

正常的操作

......................

exceptExceptionType,Argument:

你可以在這輸出Argument的值...

變量接收的異常值通常包含在異常的語(yǔ)句中。在元組的表單中變量可以接收一個(gè)或者多個(gè)值。

元組通常包含錯(cuò)誤字符串,錯(cuò)誤數(shù)字,錯(cuò)誤位置。

實(shí)例

以下為單個(gè)異常的實(shí)例:

#!/usr/bin/python

#-*-coding:UTF-8-*-

#定義函數(shù)

deftemp_convert(var):

try:

returnint(var)

exceptValueError,Argument:

print"參數(shù)沒(méi)有包含數(shù)字\n",Argument

#調(diào)用函數(shù)

temp_convert("xyz");

以上程序執(zhí)行結(jié)果如下:

$pythontest.py

參數(shù)沒(méi)有包含數(shù)字

invalidliteralforint()withbase10:'xyz'

觸發(fā)異常

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

raise語(yǔ)法格式如下:

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

語(yǔ)句中Exception是異常的類(lèi)型(例如,NameError)參數(shù)是一個(gè)異常參數(shù)值。該參數(shù)是可選的,如果不提供,異常的參數(shù)是"None"。

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

實(shí)例

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

定義一個(gè)異常非常簡(jiǎn)單,如下所示:

deffunctionName(level):

iflevel<1:

raiseException("Invalidlevel!",level)

#觸發(fā)異常后,后面的代碼就不會(huì)再執(zhí)行

注意:為了能夠捕獲異常,"except"語(yǔ)句必須有用相同的異常來(lái)拋出類(lèi)對(duì)象或者字符串。

例如我們捕獲以上異常,"except"語(yǔ)句如下所示:

try:

正常邏輯

except"Invalidlevel!":

觸發(fā)自定義異常

else:

其余代碼

實(shí)例

#!/usr/bin/python

#-*-coding:UTF-8-*-

#定義函數(shù)

defmye(level):

iflevel<1:

raiseException("Invalidlevel!",level)

#觸發(fā)異常后,后面的代碼就不會(huì)再執(zhí)行

try:

mye(0)//觸發(fā)異常

except"Invalidlevel!":

print1

else:

print2

執(zhí)行以上代碼,輸出結(jié)果為:

$pythontest.py

Traceback(mostrecentcalllast):

File"test.py",line11,in

mye(0)

File"test.py",line7,inmye

raiseException("Invalidlevel!",level)

Exception:('Invalidlevel!',0)

用戶(hù)自定義異常

通過(guò)創(chuàng)建一個(gè)新的異常類(lèi),程序可以命名它們自己的異常。異常應(yīng)該是典型的繼承自Exception類(lèi),通過(guò)直接或間接的方式。

以下為與RuntimeError相關(guān)的實(shí)例,實(shí)例中創(chuàng)建了一個(gè)類(lèi),基類(lèi)為RuntimeError,用于在異常觸發(fā)時(shí)輸出更多的信息。

在try語(yǔ)句塊中,用戶(hù)自定義的異常后執(zhí)行except塊語(yǔ)句,變量e是用于創(chuàng)建Networkerror類(lèi)的實(shí)例。

classNetworkerror(RuntimeError):

def__init__(self,arg):

self.args=arg

在你定義以上類(lèi)后,你可以觸發(fā)該異常,如下所示:

try:

raiseNetworkerror("Badhostname")

exceptNetworkerror,e:

printe.args

以上內(nèi)容為大家介紹了Python的異常參數(shù),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python作為一種編程語(yǔ)言有多強(qiáng)大?

說(shuō)實(shí)話,Python是一門(mén)強(qiáng)大的語(yǔ)言,幾乎所有東西都可以用Python創(chuàng)建!這就是為什么它被YouTube,Instagram,Netflix甚至Quora使用的原因!這門(mén)編程...詳情>>

2023-11-06 17:53:06
Python的優(yōu)點(diǎn)

Python非常容易入門(mén)。Python號(hào)稱(chēng)「Batteryincluded」。我們知道battery是「電池」的意思,included是「包含」的意思,因此就是說(shuō)Python簡(jiǎn)單到「...詳情>>

2023-11-06 17:49:30
什么是最好的Python IDE?

IDE(集成開(kāi)發(fā)環(huán)境)是專(zhuān)用于軟件開(kāi)發(fā)的程序。在這種情況下,我們正在尋找專(zhuān)用于python開(kāi)發(fā)的IDE。IDE的某些功能包括:設(shè)計(jì)用于處理代碼的編輯器...詳情>>

2023-11-06 17:38:42
python之執(zhí)行對(duì)象

有時(shí)候我們會(huì)碰到這樣的需求,需要執(zhí)行對(duì)象的某個(gè)方法,或是需要對(duì)對(duì)象的某個(gè)字段賦值,而方法名或是字段名在編碼代碼時(shí)并不能確定,需要通過(guò)參...詳情>>

2023-11-06 17:09:54
python的進(jìn)程

什么是程序?程序:例如XXXX.py這是程序,處于靜態(tài)的。什么是進(jìn)程進(jìn)程:一個(gè)程序運(yùn)行起來(lái)后,代碼+用到的資源稱(chēng)之為進(jìn)程,它是操作系統(tǒng)分配資源...詳情>>

2023-11-06 16:55:30