【发布时间】:2014-07-19 13:10:07
【问题描述】:
这是我的简化代码:
x = 0
while True:
x += 1
if not do_stuff(x)
break
if x > 1000000:
raise Exception("Too many iterations")
1000000 是 x 的值,永远不应达到。如果是,则出现问题并引发异常。对于这样的用例,Exception 的正确子类是什么(如果存在的话)?
【问题讨论】:
-
出了什么问题?输入,还是程序逻辑?换句话说:是最终用户的错误,还是程序员的错误?
-
Out 听起来像是提升
AssertionError或从RuntimeException继承并提升它的案例。 -
就我而言,do_stuff 正在打开一个网页,但我想知道是否存在失控循环的一般例外情况。 (所以是程序员的错误)
-
没有内置异常。只需从 Exception 派生一个即可。
-
我最后写的只是
assert x < 1000000