Java异常是什么?

Java异常

Java异常
如上图,Java可抛出的有异常Exception跟错误Error两大类。

  • 错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。
    如StackOverFlowError、OutOfMemoryError
  • 异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的时间。可以被Java异常处理机制使用,是异常处理的核心。
  • 异常分类:主要分为IOException与RuntimeException
    IOException:SQLException、ClassNotFoundException、EOFException、FileNotFoundException
    RuntimeException:ArithmeticException、ClassCastException、ArrayIndexOutOfBoundsException、NullPointerException、IllegalArgumentException

异常与错误也可以这样分:检查异常与非检查异常

  • 非检查异常:**Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。**所以如果愿意,我们可以编写代码处理(使用try…catch…finally)这样的异常,也可以不处理。对于这些异常,我们应该修正代码,而不是去通过异常处理器处理 。这样的异常发生的原因多半是代码写的有问题。
  • 检查异常:除了Error 和 RuntimeException的其它异常。**javac强制要求程序员为这样的异常做预备处理工作(使用try…catch…finally或者throws)。在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。因为程序可能被运行在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,于是程序员就应该为这样的异常时刻准备着。**如SQLException 、 IOException、ClassNotFoundException 等。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值