在此代码中
String a = "notANumber";
Integer b = Integer.parseInt(a);
由于parseInt
会引发NumberFormatException
例外,因此必须使用try / catch
在我之前的Eclipse版本中,我曾经得到一个警告,告诉我需要一个try / catch但是我无法弄清楚如何在我当前版本的Eclipse上启用它,这是
Eclipse Java EE IDE for Web Developers.
Version: Kepler Service Release 1
答案 0 :(得分:10)
NumberFormatException
是RuntimeException
。
您没有 将try
/ catch
用于运行时异常。
来自the javadoc of RuntimeException:
RuntimeException是可以使用的那些异常的超类 在Java虚拟机的正常操作期间抛出。 RuntimeException及其子类是未经检查的异常。
未经检查的异常不需要在方法中声明 构造函数的throws子句,如果它们可以被执行抛出 方法或构造函数并在方法或方法之外传播 构造函数边界。
我严重怀疑任何版本的Eclipse都需要try/catch
代码才能显示。你必须与另一个调用混淆(可能是一个声明异常的包装器,未检查异常的事实并不意味着你不应该,有时,明确地捕获它,实际上这个可能最常被明确捕获)
答案 1 :(得分:1)
请参阅docs:
这是运行时异常 - It doesn't have to be checked,因此编译器不会检查它。
有关更多有价值的信息,请参阅JLS - 11.1.1. The Kinds of Exceptions:
未经检查的异常类是运行时异常类和 错误类。