Java 编程思想12.6-捕获所有异常

1.可以只写一个异常处理来捕获所有类型的异常。

2.栈轨迹。printStackTrace()方法提供的信息可以由getStackTrace()方法直接访问,这个方法将返回一个由栈轨迹中的元素构成的数组,其中每一个因素表示栈中的一帧。

3.重抛异常会把异常抛给上一级环境中的异常处理程序,同一个try块的后续catch子句将被忽略。

4.异常对象重新抛出。如果只是把当前异常对象重新抛出,那么printStackTrace()方法显示的将是原来异常抛出点的调用栈信息,而并非重新抛出点的信息。

5.异常链。常常会需要在捕获一个异常后抛出另一个异常,并且希望把原始的信息保存下来,这称作异常链。

6.Throwable的子类在构造器中都可以接受一个cause对象做为参数。这个cause表示原始异常,这样就可以把原始异常传递给新的异常。

7.有趣的是,在Throwable的子类中,只有三种基本的异常类提供带cause参数的构造器。它们是ErrorException以及RuntimeException。如果要把其他类型的异常链接起来,就应该使用initCause()方法而不是构造器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值