【发布时间】:2012-02-25 19:34:36
【问题描述】:
我试图在每次抛出异常时循环一个 try 块。
一个例子可能是当程序提示输入一个双精度并且用户输入一个字符串时,就会抛出一个 NumberFormatException。所以程序会要求用户重新输入。
这是我目前正在做的事情。这是正确的方法还是有更好的方法?
// infinite loop
for (;;)
{
try
{
//do something
break; // if an exception is not thrown. it breaks the loop.
}
catch (Exception e)
{
//display the stack trace.
}
// restarts the for loop
}
【问题讨论】:
-
嘿,我最近在blog 中处理了一个类似的问题,尽管使用的是不同的语言。 (见第 4 条)
-
啊,好的。这个 sn-p 功能齐全。我只是想确保我的方法是一种普遍接受的方法。
-
嗨,Marv,您可以查看我的示例代码。如果您要多次收集输入,您可以在开始时显示一次输入约束或每次都警告用户。它是捕获异常的好方法。使用这种技术,您也可以强制用户遵守您的输入约束,例如,它可用于控制希望仅接受特定字符串/数字模式的文本字段。
标签: java exception loops logic try-catch