当前位置:  开发笔记 > 编程语言 > 正文

为什么不必显式声明可能会在Java中抛出一些内置的异常?

如何解决《为什么不必显式声明可能会在Java中抛出一些内置的异常?》经验,为你挑选了3个好方法。

我注意到Integer.parseInt()你不必用try catch包围它,或者声明该方法可能抛出一个异常,尽管它"抛出"了一个NumberFormatException.

为什么我不必明确地捕获NumberFormatException或声明我的方法抛出它?



1> OscarRyz..:

因为那是一个"运行时"异常.

RuntimeExceptions用于识别编程问题(一个优秀的程序员可以避免)

检查的异常是为了识别环境问题(无论您编程有多好,无法避免,例如服务器停机)

你可以在这里阅读更多相关信息

实际上有三种例外,只应处理其中一种(大多数时候)



2> toolkit..:
         Throwable
         /      \
      Error    Exception
                /     \
           *checked*  RuntimeException
                            \
                         *unchecked*

有关Checked与Unchecked异常的详细说明,请参阅Thinking in Java.

有些人认为检查异常的想法是失败的实验.例如,Spring和Hibernate都使用未经检查的异常,并且经常在未经检查的版本中包装已检查的异常.



3> bobwienholt..:

NumberFormatException扩展了RuntimeException,您不必显式处理从RuntimeException继承的任何内容.

其他RuntimeExceptions类似于NullPointerException和IndexOutOfBoundsException.这些是程序员可以避免的事情,不得不尝试/捕获这些类型的异常会产生一些非常混乱的代码.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有