Nik*_*ntz 6 java exception-handling exception
我看到一个定义可以是这样的:
通常,RuntimeExceptions是可以通过编程方式阻止的异常.
但这仍然不是已检查异常的定义.我认为已检查的异常是"可在编译时处理的异常".这是正确的和/或你能告诉我更多吗?
我也在网站上看过这个,你能解释一下这个引用吗?
许多人说不应该使用经过检查的异常(即你应该明确地捕获或重新抛出的异常).
我可以直接了解定义是什么吗?我也有些意外地读到了:
NumberFormatException未选中
但我认为这NumberFormatException是检查,因为我会在编译时处理它.你能帮我理解一下吗?我已经完成了一些Java编程,但我从未编写过自己的异常类,为什么我需要它呢?

给出的定义是Sierra/Bates的SCJP书:

已检查的异常定义为java.lang.Throwable(不包括Throwable本身)的任何子类,它不是java.lang.Error或的子类java.lang.RuntimeException.您看到的指南就是指南,旨在帮助您了解运行时异常的意图.
请参阅Java语言规范,第11.1.1节
未经检查的异常类是运行时异常类和错误类.
已检查的异常类是除未经检查的异常类之外的所有异常类.也就是说,已检查的异常类都是Throwable的子类,而不是RuntimeException及其子类和Error及其子类.