0

在编写代码时,我想知道是否可以避免 try n catch 并使用其他东西。例如,如果我有一个double类型的值(来自控制台),并且如果用户输入一个字符串或其他内容,那么应该会提示重新输入该值。

我知道使用 try-n-catch 可以很容易地做到这一点,但是没有它我们怎么能做到,有什么出路吗?

如果可能,请举一个例子。

4

2 回答 2

8

遗憾的是,JDK 缺少TryParse一些其他库提供的方法。在Apache CommonsGuava中找到可以做到这一点的东西,我不会感到惊讶。

或者,您可以使用 aScanner并使用它hasNextDouble来进行检查。


如果您问如何避免处理一般的异常:不要尝试。异常是处理程序中异常情况的一种强有力的方法,检查异常提供的“句柄或声明”(例如,您的代码必须处理异常,或者声明它不处理)非常有用。

但是有一些用例,例如您的示例,您可能希望避免引发异常,因为毕竟,用户输入无效输入不是异常情况,而是一种非常常见的情况。:-)

于 2013-08-25T16:28:24.760 回答
1

Throw Exceptions 不太健壮,但却是避免使用 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"); 

  }
 } 
于 2013-08-25T16:38:22.243 回答