1、编译时异常因为什么而得名
编译时异常和运行时异常,都发生在运行阶段。编译阶段异常是不会发生的。编译时异常因为什么而得名?
因为编译时异常必须在编译(编写)阶段预先处理,如果不处理编译器报错,因此得名。
所有异常都是运行阶段发生的。因为只有程序运行阶段才可以new对象。
因为异常的发生都是new异常对象。
2、编译时异常和运行时异常区别
- 编译时异常一般发生的概率比较高。
对于一些发生概率较高的异常,需要在运行之前对其进行预处理。 - 运行时异常一般发生的概率比较低。
假设java中没有对异常进行划分,没有分为:编译时异常和运行时异常,所有的异常都需要在编写程序阶段对其进行预处理,将会是怎样的效果呢?
如果代码是这样的话,程序肯定是绝对安全的。但是程序员编写程序太累,代码到处都是处理异常的代码
3、编译时异常还有其他名字
- 受控异常 (CheckException)
- 受检异常
4、运行时异常还有其他名字
- 未受检异常(UnCheckException)
- 非受控异常