在编写代码时,我想知道是否可以避免尝试使用其他内容。例如,如果我有类型 double 的值(来自控制台),并且如果用户输入字符串或其他内容,则应该提示重新输入值。
我知道使用try-n-catch可以很容易地做到这一点但是如果没有它我们怎么做呢,还有什么办法吗?
请尽可能举例。
答案 0 :(得分:8)
可悲的是,JDK缺少其他一些库提供的TryParse
方法。我会在Apache Commons或Guava找到能够做到这一点的事情,我不会感到惊讶。
或者,您可以使用Scanner
并使用其hasNextDouble
进行检查。
如果您正在询问如何避免处理一般的异常:请勿尝试。异常是处理程序中异常条件的有效方法,并且由已检查的异常提供的“句柄或声明”(例如,您的代码必须处理异常,或声明它没有)非常有用。
但是有一些用例,比如你的例子,你可能希望避免抛出异常,因为毕竟用户输入无效输入并不是一个例外条件,它是一个非常常见的一。 : - )
答案 1 :(得分:1)
抛出异常不太稳健,但是使用try / catch语句处理避免的好方法。
import java.io.*;
public class UsingThrows {
public static void main(String args[]) throws FileNotFoundException {
FileInputStream fis = new FileInputStream("def.txt");
System.out.println("OK 1");
}
}