关于java异常

1.什么是异常

       在java运行程序时,常常会出现一些非正常的现象,这种情况称为运行错误。根据其性质可以分为错误或异常。

java程序中,所有抛出的异常都必须从Throwable类派生而来。类Throwable有两个直接子类Error和Exception。

       一般来说,最常见的错误有进入死循环、内存泄漏等。这种情况,程序运行时本身无法解决。只能通过其它程序干预。

java对应的类为Error类。Error类对象由java虚拟机生成并抛弃(通常不需要对这类异常进行捕获处理。)

        java异常对应的类为Exception类。Exception类对象是java程序处理或抛弃的对象,它有各种不同的子类分别对应于不同类型的异常。

       java编译器要求程序必须捕获或声明所有的非运行时异常,但对运行时异常可以不做任何处理。

      类RuntimeException代表java虚拟机生成的异常,原因是编程错误。其他是非运行时异常,原因是程序碰到了意外情况,如

IOException等。  

      按javac对异常的处理,我们将异常分为两类:检查异常、非检查异常。

      检查异常:除了Error和RuntimeException的其他异常。这些异常通常是由于程序的运行环境所引起的。程序可能会被运行于各种复杂的环境,程序员无法干预用户如何使用他的程序,因此程序员需要时刻为这样的异常准备着。如SQLException、IQException、ClassNotFoundException等。

      非检查异常:Error和RuntimeException异常以及它们的子类。javac在编译时,不会提示和发现这样的异常。这些异常是由于编程错误引起的,我们应该通过修改程序去处理,而不是通过异常编译器去处理。

传送门


2.异常丢失

   造成异常丢失的两种情况:

   a.finally 里面写return语句

   b.finally 里面写throw异常

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值