肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > python自定义异常处理_Python 自定义异常

python自定义异常处理_Python 自定义异常

时间:2022-11-18 05:34:38

相关推荐

Python 自定义异常

Python有许多内置的异常,当其中的某些错误出现时,它们会强制您的程序输出错误。

但是,有时您可能需要创建符合您目的的自定义异常处理。

在Python中,用户可以通过创建新类来定义此类异常。该异常类必须直接或间接地从Exception该类派生。大多数内置异常也是从此类派生的。>>>classCustomError(Exception):

...pass

...

>>>raiseCustomError

Traceback(mostrecentcalllast):

...

__main__.CustomError

>>>raiseCustomError("Anerroroccurred")

Traceback(mostrecentcalllast):

...

__main__.CustomError:Anerroroccurred

在这里,我们创建了一个名为CustomError的用户定义异常,该异常是从Exception类派生的。 与其他异常一样,可以使用带有可选错误消息的raise语句来引发此新异常。

当我们开发大型Python程序时,最好将程序引发的所有用户定义的异常放在单独的文件中。许多标准模块可以做到这一点。他们分别将例外定义为exceptions.py或errors.py。

用户定义的异常类可以实现普通类可以执行的所有操作,但是我们通常使它们简单明了。大多数实现都声明一个自定义基类,并从该基类派生其他异常类。在下面的示例中,将使该概念更清晰。

示例:Python中的用户定义异常

在此示例中,我们将说明如何在程序中使用用户定义的异常来引发和捕获错误。

该程序将要求用户输入一个数字,直到他们正确猜出所存储的数字为止。为了帮助他们弄清楚,将提示他们的猜测是大于还是小于存储的数字。#定义Python用户定义的异常

classError(Exception):

"""其他异常的基类"""

pass

classValueTooSmallError(Error):

"""当输入值太小时引发"""

pass

classValueTooLargeError(Error):

"""当输入值过大时引发"""

pass

#我们的主程序

#用户猜出一个数字,直到他/她猜对为止

#你需要猜这个数字

number=10

whileTrue:

try:

i_num=int(input("输入数字:"))

ifi_num

raiseValueTooSmallError

elifi_num>number:

raiseValueTooLargeError

break

exceptValueTooSmallError:

print("这个值太小,请再试一次!")

print()

exceptValueTooLargeError:

print("这个值太大,请再试一次!")

print()

print("恭喜你!你猜对了.")

这是该程序的示例运行。输入数字:12

这个值太大,请再试一次!

输入数字:0

这个值太小,请再试一次!

输入数字:9

这个值太小,请再试一次!

输入数字:10

恭喜你!你猜对了.

在这里,我们定义了一个名为Error的基类。

我们的程序实际引发的另外两个异常(ValueTooSmallError和ValueTooLargeError)是从这个类派生出来的。这是在Python编程中定义用户定义异常的标准方法,但您并不仅限于此方法。

如果觉得《python自定义异常处理_Python 自定义异常》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。