【发布时间】:2017-10-02 13:14:38
【问题描述】:
我想知道当我知道我的代码中会发生 ValueError 时,我将如何设置一种方法来引发 RuntimeError。例如:
def example(string):
try:
var1, var2, var3 = string.split(":")
except ValueError:
raise RuntimeError
如果我输入一个由冒号分隔的少于 3 个元素的字符串(即“Hi:SO!”),我会期望得到一个 ValueError;但是我想让它引发一个 RuntimeError 并继续执行该程序而不会使其停止。我将如何着手将此 ValueError 提升为 RuntimeError 而仍然排除 RuntimeError?
【问题讨论】:
-
这确实引发了 RuntimeError(在您缩进分配并将名称
var 3修复为var3之后)。真正的问题是为什么你要提出特定的例外?异常有一个目的:告知用户为什么会发生不好的事情。 -
你似乎做得对!如果您真的想“捕获”运行时错误,请再次尝试!
-
谢谢,我尝试了第二种尝试方法,效果很好!
-
捕捉到异常后如果想继续执行程序,可以使用Warnings代替!
标签: python python-3.x error-handling exception-handling