gpt4 book ai didi

Python:从 ValueError 派生的自定义异常类

转载 作者:行者123 更新时间:2023-11-28 22:03:17 25 4
gpt4 key购买 nike

我的问题看起来很简单,但我没有找到关于这个特定问题的任何帖子。我需要我自己的派生自 ValueError 的自定义异常类来打印预期类型(标准错误消息)以及输入的类型(带有自定义文本)。

class MyOwnException(ValueError):
...

try:
raise MyOwnException ( int('str') ) #not sure what to do here, as I only want to
#raise the exception if incorrect value type
except MyOwnException as e:
print "Error: Expected type", e.expType() #int
print "Error: Entered type", e.entType() #string

要添加到上面并通过内置的 ValueError 引发我的自定义异常:

class MyOwnException(ValueError):
def __init__(self, value):
self.value = value
print "Error: Expected type", type(self.value) #int
print "Error type", self.value #how to return expected value type?

try:
int('str')
except ValueError as e:
raise MyOwnException(e)

在这方面,我非常感谢任何帮助。非常感谢!干杯,曼努埃尔

最佳答案

通常情况下,在引发自定义异常时,您必须捕获一个更通用的异常并重新引发一个不同的异常。例如,

>>> class MoofiError(ValueError):
... pass
...
>>> try:
... int('a')
... except ValueError:
... raise MoofiError, 'you did something wrong, fool'
...
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
__main__.MoofiError: you did something wrong, fool

关于Python:从 ValueError 派生的自定义异常类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9454048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com