关于JAVA中编译时异常和运行时异常的区别

首先要知道:编译时异常运行时异常都是发生在运行阶段,编译阶段异常是不会发生的。所有异常都是运行阶段发生的,因为只有运行阶段才可以new对象,因为异常的发生就是new对象。

一、编译时异常Exception(其一般发生的概率比较高。)

Exception的直接子类都是:编译时异常,那么编译时异常因为什么而得名?
  因为编译时异常必须在编译(编写)阶段预先处理,如果不处理编译器报错,因此得名。

举例方便理解:(把生病想象成是一种异常)

看见外面下大雨了。出门之前会预料到:如果不打伞,可能会生病,而且这个异常发生的概率很高。所以出门之前要拿一把伞。 "拿一把伞"就是对"生病"异常发生之前的一种处理方式。

对于一些发生概率较高的异常,需要在运行之前对其进行预处理。

二、运行时异常RuntimeException(一般发生的概率比较低。)

RuntimeException在编写程序阶段程序员可以选择预先处理,也可以不处理。

举例理解:(飞机轮胎砸到算一种异常)

如果人走在大街上,可能会被天上的飞机轮子砸到。被飞机轮子砸到也算异常,但是这种异常发生概率较低。在出门之前,你没必要提前对这种发生概率较低的异常进行预处理,如果预处理这种异常,人们将活的很累。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值