对Java中的异常理解

摘要

极客时间里的Java核心技术系列,第2讲,记录一些笔记。
关键词:Throwabel,Error,Exception,Unchecked,Checked,日志。

概述

我们需要依靠异常处理机制来处理一些可能发生的意外情况,来保证程序的可靠性和健壮性。
Java 里异常处理机制由 Throwable 类完成。他包括了 Error 和 Exception。 具体看下图:
在这里插入图片描述

2条基本原则

我们在对异常进行处理时,有2条基本原则。

  1. 尽量不要去捕获Exception这样范围很大的异常类,而应该去捕获特定的异常类。
    否则我们都不知道是什么异常抛出了,我们该怎么解决。对异常的信息可以保留到日志里面。
  2. 不要生吞(swallow)异常。
    也就是不要试着去隐藏一个异常,不要去掩盖异常。
    不知道如何处理的话,先保留原有异常的cause信息,再抛出去,在更高的层面上往往会有清晰的思路来解决。

其他

  • 仅对必要的代码进行try-catch,因为这样产生额外的开销。
  • 每实例化一个Exception,都会对当时的栈进行一个快照,保存现场的信息。
  • try-with-resources 语句。
    这是JDK1.7引入的语法。不用我们自己书写 关闭资源 的代码。
    但是资源必须实现 AutoClosable接口,实现类重写close方法。

参考链接:

https://juejin.im/entry/57f73e81bf22ec00647dacd0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值