引发错误,然后在Python中返回一个值

时间:2016-09-09 00:40:48

标签: python

我想引发错误,然后返回一个值。

print 'Max Iter Reached'
return x

让两条线都有效。

现在我发现这个问题很愚蠢,我决定打印一条错误信息。

{{1}}

2 个答案:

答案 0 :(得分:6)

这是不可能的。函数可以 返回值引发异常。它不能两者都做。调用returnraise将完全终止该功能。

您可以在异常消息中编码返回值,如下所示:

raise SomeException('my value is 5')

或者您可以返回异常值的元组:

return (SomeException('hello'), 5)

答案 1 :(得分:2)

它没有意义但是如果你需要它。

def your_method(self):
    ......
    try:
        raise ValueError('Max Iter Reached')
    except ValueError as e:
        return value