千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:青岛千锋IT培训  >  技术干货  >  Python的异常参数

Python的异常参数

来源:千锋教育
发布人:xqq
时间: 2023-11-12 00:58:41

一个异常可以带上参数,可作为输出的异常信息参数

你可以通过except语句来捕获异常的参数,如下所示:

try:

正常的操作

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

exceptExceptionType,Argument:

你可以在这输出Argument的值...

变量接收的异常值通常包含在异常的语句中。在元组的表单中变量可以接收一个或者多个值。

元组通常包含错误字符串,错误数字,错误位置。

实例

以下为单个异常的实例:

#!/usr/bin/python

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

#定义函数

deftemp_convert(var):

try:

returnint(var)

exceptValueError,Argument:

print"参数没有包含数字\n",Argument

#调用函数

temp_convert("xyz");

以上程序执行结果如下:

$pythontest.py

参数没有包含数字

invalidliteralforint()withbase10:'xyz'

触发异常

我们可以使用raise语句自己触发异常

raise语法格式如下:

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

语句中Exception是异常的类型(例如,NameError)参数是一个异常参数值。该参数是可选的,如果不提供,异常的参数是"None"。

最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。

实例

一个异常可以是一个字符串,类或对象。Python的内核提供的异常,大多数都是实例化的类,这是一个类的实例的参数。

定义一个异常非常简单,如下所示:

deffunctionName(level):

iflevel<1:

raiseException("Invalidlevel!",level)

#触发异常后,后面的代码就不会再执行

注意:为了能够捕获异常,"except"语句必须有用相同的异常来抛出类对象或者字符串。

例如我们捕获以上异常,"except"语句如下所示:

try:

正常逻辑

except"Invalidlevel!":

触发自定义异常

else:

其余代码

实例

#!/usr/bin/python

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

#定义函数

defmye(level):

iflevel<1:

raiseException("Invalidlevel!",level)

#触发异常后,后面的代码就不会再执行

try:

mye(0)//触发异常

except"Invalidlevel!":

print1

else:

print2

执行以上代码,输出结果为:

$pythontest.py

Traceback(mostrecentcalllast):

File"test.py",line11,in

mye(0)

File"test.py",line7,inmye

raiseException("Invalidlevel!",level)

Exception:('Invalidlevel!',0)

用户自定义异常

通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。

以下为与RuntimeError相关的实例,实例中创建了一个类,基类为RuntimeError,用于在异常触发时输出更多的信息。

在try语句块中,用户自定义的异常后执行except块语句,变量e是用于创建Networkerror类的实例。

classNetworkerror(RuntimeError):

def__init__(self,arg):

self.args=arg

在你定义以上类后,你可以触发该异常,如下所示:

try:

raiseNetworkerror("Badhostname")

exceptNetworkerror,e:

printe.args

以上内容为大家介绍了Python的异常参数,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

python如何提取文本信息?

2023-11-14

python基类是什么意思

2023-11-14

python生成器推导式是什么

2023-11-14

最新文章NEW

python__del__方法的使用

2023-11-14

python参数中默认值的执行

2023-11-14

python内置作用域是什么

2023-11-14

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>