【发布时间】:2013-09-07 05:37:40
【问题描述】:
我有一个名为test() 的方法会引发异常。
我想写一个循环,只要抛出异常就执行,不再抛出异常就中断。
谁能提示我必须使用的逻辑?
例如我试过,
int i=0;
while(test())
{
i++;
}
System.out.println(i);
【问题讨论】:
-
使用异常来控制流可能不是一个好主意
-
如果可能,请避免使用这种方法,因为在抛出异常之前运行循环是非常不可靠的,可能会导致不必要的内存泄漏
-
我不会说它一定不可靠,因为它确实取决于整个程序的行为。但是,如果您需要运行此循环一段时间,并且有能力将其暂停一小段时间,则在循环中始终可到达的点调用 Thread.sleep(100) 可以节省大量 CPU。
标签: java exception loops throw