1.7 java中的异常处理

1.7 java中的异常处理

1.7.1 有一个父类java.lang.Throwable类,主要有两个子类:
Error错误类和Exception异常类;
Error类:
一般是程序无法处理的错误,JVM自身故障或者执行任务时出错,与开发者无关;例如Virtual Machine Error、OutOfMemoryError;
Exception类:
主要分为CheckedException和RuntimeException
CheckedException又称编译期异常,一般强制要求程序员处理;如IOException
RuntimeException运行期异常,对于这种异常处理方式可以抛给虚拟机处理,也可以自己try…catch捕获处理;如ClassNotFoundException、ArrayIndexOutOfBoundsException、NullPointerException等;

1.7.2 这些类在Throwable中定义了共性方法:
public String getMessage: 返回异常详细信息;
public String toString: 返回异常发生时的简要描述;
public String getLocalizedMessage:返回异常的本地化信息,没有重写的话和getMessge返回结果相同;
public void printStackTrace:打印异常信息在控制台

1.7.3 关于try…catch
try(){

}catch(…){

}catch(…){

}finally{

}
try后面{}中放可能出现异常的代码;
catch后的()中定义接收异常的变量,可以使用多态来接收子父类异常,{}放异常处理逻辑;
另外一个try可以接多个catch,但异常发生后,会从上到下开始匹配,只与一个catch匹配;
另外多个catch后定义的异常类型如果存在子父类关系,将子类放在父类前面,否则会出现子类异常的catch无效(子类异常被前面的父类异常变量接收);

1.7.4还可以添加finally{}代码段,{}中放无论是否发生异常都会执行的代码,在以下情况下例外:

  • finally代码段中抛出异常;
  • try…catch中调用了return结束了方法,或者exit()退出了程序;
  • 所在线程死亡;
  • CPU关闭;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值