我注意到Integer.parseInt()你不必用try catch包围它,或者声明该方法可能抛出一个异常,尽管它"抛出"了一个NumberFormatException.
为什么我不必明确地捕获NumberFormatException或声明我的方法抛出它?
Throwable
/ \
Error Exception
/ \
*checked* RuntimeException
\
*unchecked*
Run Code Online (Sandbox Code Playgroud)
有关Checked与Unchecked异常的详细说明,请参阅Thinking in Java.
有些人认为检查异常的想法是失败的实验.例如,Spring和Hibernate都使用未经检查的异常,并且经常在未经检查的版本中包装已检查的异常.
NumberFormatException扩展了RuntimeException,您不必显式处理从RuntimeException继承的任何内容.
其他RuntimeExceptions类似于NullPointerException和IndexOutOfBoundsException.这些是程序员可以避免的事情,不得不尝试/捕获这些类型的异常会产生一些非常混乱的代码.
| 归档时间: |
|
| 查看次数: |
2791 次 |
| 最近记录: |