Python 值错误和字符串异常
我在以我想要的方式工作时遇到了ValueError问题 我有一个返回字符串的函数,但如果它不是从函数中引发的,我不希望它也计算为ValueError 示例代码 输出 如果我正确阅读了文档,它说它可以由字符串引发,那么如何防止这种行为Python 值错误和字符串异常,python,Python,我在以我想要的方式工作时遇到了ValueError问题 我有一个返回字符串的函数,但如果它不是从函数中引发的,我不希望它也计算为ValueError 示例代码 输出 如果我正确阅读了文档,它说它可以由字符串引发,那么如何防止这种行为 我不知道为什么它以前会起作用,但我把它说得更清楚了,现在它就起作用了。第一个例子也比较模糊,我试图从库中的函数中捕捉错误 示例代码 输出 1如果ValueError始终为真,则将始终执行打印。2您的函数总是引发错误,因为如果a==a总是true。3您没有做任何事情来
我不知道为什么它以前会起作用,但我把它说得更清楚了,现在它就起作用了。第一个例子也比较模糊,我试图从库中的函数中捕捉错误 示例代码 输出
1如果ValueError始终为真,则将始终执行打印。2您的函数总是引发错误,因为如果a==a总是true。3您没有做任何事情来捕捉错误我不清楚你想在这里做什么。也许你在寻找try..catch语法@deceze这里是答案,这个代码仍然大部分是胡说八道。我不知道它应该完成什么。
def test(a):
if a == a:
raise ValueError('There was a error # 2')
a = 'a'
if ValueError:
print "There was a error # 1"
test(a)
There was a error # 1
Traceback (most recent call last):
File "/home/user/Test_1.py", line 13, in <module>
test(a)
File "/home/user/Test_1.py", line 5, in test
raise ValueError('There was a error # 2')
ValueError: There was a error # 2
Process finished with exit code 1
def test(a):
try:
if a == a:
pass
raise ValueError('There was a error # 2')
except Exception, e:
str(e)
return e
a = 'a'
b = test(a)
if type(b) == ValueError:
print b
There was a error # 2
Process finished with exit code 0