JAVA异常

本文解释了Java中的Throwable、Error、Exception(包括Runtime异常和Checked异常)的概念,强调了Error的系统级错误和不能动态处理,以及CheckedException的编译时检查和强制处理。还讨论了如何在代码中处理这些异常类型。
摘要由CSDN通过智能技术生成

在Java中Throwable是所有错误或异常的父类,Throwable又可分为Error和Exception,Exception又可分为RuntimeException(运行时异常)和CheckedException(检查异常),如图所示
在这里插入图片描述Error
Error指Java程序运行错误。出现Error通常是因为系统的内部错误或资源耗尽。Error不能在运行中被动态处理。如果程序出现Error,则系统能做的工作也只能是通知用户,并尽力使程序安全终止,除此之外再也无能外力了。
常见的Error有:StackOverFlowError、OutOfMemoryError
Exception
Exception指Java程序运行异常,可以被Java异常处理机制处理。Exception也是程序开发中异常处理的核心。

RuntimeException:是指再Java虚拟机正常运行期间抛出的异常,常见的运行时异常包括错误的类型转换(ClassCastExcetion),数组访问越界(ArrayIndexOutOfBundsException),访问null指针(NullPinterException)

CheckedException :Java编译器在编译阶段会检查CheckedException异常,并强制程序捕获和处理此类异常,即要求程序再可能出现异常的地方通过try catch语句块捕获并处理异常。常见的CheckedException有由于I/O错误导致的IOException、SQLException、ClassNotFoundException等。该类异常一般由于打开错误的文件、SQL语法错误、类不存在等引起。

注意:一个方法必须声明所有可能抛出的受查异常,如果方法没有声明所有可能发生的受查异常,编译器就会法出一个错误信息。
编译器严格地执行throws说明符。如果调用了一个抛出异常的方法,就必须对它进行处理,或者继续传递。
非受查异常要么不可控制(Error),要么就应该避免发生(RuntimeException)。之所以没提到对RuntimeException的异常处理,是因为虽然异常处理机制同样适用于运行时异常,但这个异常是由程序错误导致的,如果我们能提前预料到,那我们就可以修改代码避免它的发生了;如果不能预料到,就无法确定抛出什么异常,如何捕获处理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值