我想抛出一个错误然后返回一个值。
raise ValueError('Max Iter Reached')
return x
并使两条线都起作用。
现在我发现这个问题很愚蠢,我决定打印一条错误消息。
print 'Max Iter Reached'
return x
请您参考如下方法:
这是不可能的。一个函数可以或者返回一个值或者引发异常。它不能两者兼顾。调用 return 或 raise 将完全终止函数。
您可以在异常消息中对返回值进行编码,如下所示:
raise SomeException('my value is 5')
或者您可以返回异常的元组和一个值:
return (SomeException('hello'), 5)
