【Java】29.常用API之lang.Throwable(异常错误处理)

Throwable类是Java语言中所有错误和异常的类。 只有作为此类(或其一个子类)的实例的对象由Java虚拟机抛出,或者可以由Java throw语句抛出

1.使用 try和catch处理异常;认识异常的继承架构;了解 throw、throws的使用时机;

2.运用 finally关闭资源以及使用自动关闭资源语法;认识AutoCloseable接口

目录

一、异常处理与继承架构

1.使用try…catch

2.异常继承架构

3.抓还是抛

4.继承与异常

5.异常的设计与思考

6.堆栈追踪

7.断言assert

二、异常与资源管理

1.使用finally

2.自动尝试关闭资源

3.AutoCloseable接口


 

一、异常处理与继承架构

1.使用try…catch

在实际编程中,我们总会有一些意想不到的状况而引发程序错误,这是合理和允许的。在Java中,错误都会以对象方式呈现为java.lang.Throwable的各种子类实例,只要我们捕捉到这些对象就可以针对错误进行处理。比如进行程序修复、进行日志记录或是以某种形式反馈给用户。

使用try……catch语法,JVM就会尝试执行try区块中的程序代码,如果发生错误,就会跳离错误的发生点,去匹配catch括号中声明的类型,是否符合被抛出的错误对象类型,若是则执行区块代码。

如果抛出了Throwable,而程序没有任何catch捕捉到错误对象,最后由JVM捕捉到,那JVM基本处理就是显示错误信息并中断程序。

2.异常继承架构

在编写程序中,有一些程序如果不编写try…catch语句,就会编译错误,编译程序就一定要求你在程序中明确处理错误。那接下来我们就需要了解一下这个错误包装对象的继承架构,哪些异常一定要求处理

首先这些错误对象都是可抛的,所以设计错误对象继承自java.lang.Throwable类,这个类会定义取得错误信息、堆栈追踪(Stack Trace)等方法,它有两个子类:java.lang.Error与java.lang.Exception

其中,Error或其子类实例,代表系统的严重错误,比如硬件层面、JVM错误或者内存不足等等,虽然可以用异常语法处理但这类错误是Java应用程序无力解决的,只能任其到JVM或者留下日志信息。

而如果是程序设计产生的错误,则可以使用Exception或其子类实例表现,通常称错误处理为异常处理(Exception Handling)

从语法与继承架构来看,Exception还分为java.lang.RuntimeException异常和其他异常。

对于其他这些异常都要必须明确使用try…catch语句加以处理,或是用throws声明抛出异常

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值