编译时异常和运行时异常区别

文章目录

  • 1、编译时异常因为什么而得名
  • 2、编译时异常和运行时异常区别
  • 3、编译时异常还有其他名字
  • 4、运行时异常还有其他名字
  • 5、所有异常都发生在运行阶段的

1、编译时异常因为什么而得名

编译时异常和运行时异常,都发生在运行阶段。编译阶段异常是不会发生的。编译时异常因为什么而得名?

因为编译时异常必须在编译(编写)阶段预先处理,如果不处理编译器报错,因此得名。
所有异常都是运行阶段发生的。因为只有程序运行阶段才可以new对象。
因为异常的发生都是new异常对象。

2、编译时异常和运行时异常区别

  • 编译时异常一般发生的概率比较高。
    对于一些发生概率较高的异常,需要在运行之前对其进行预处理。
  • 运行时异常一般发生的概率比较低。

假设java中没有对异常进行划分,没有分为:编译时异常和运行时异常,所有的异常都需要在编写程序阶段对其进行预处理,将会是怎样的效果呢?

如果代码是这样的话,程序肯定是绝对安全的。但是程序员编写程序太累,代码到处都是处理异常的代码

3、编译时异常还有其他名字

  • 受控异常 (CheckException)
  • 受检异常

4、运行时异常还有其他名字

  • 未受检异常(UnCheckException)
  • 非受控异常

5、所有异常都发生在运行阶段的

你可能感兴趣的:(java)