一 异常链简介
常常会在捕获一个异常后,再抛出另外一个异常,并且希望把异常原始信息保存下来,这被称为异常链。
在JDK1.4以前,程序员必须自己编写代码来保存原始异常信息。
在JDK1.4以后,所有的Throwable的子类在构造器中都可以接收一个cause对象作为参数。这个cause就用来表示原始异常,这样可以把原始异常传递给新的异常,使得即使在当前位置创建并抛出新的异常,你也能通过这个异常链跟踪到异常最初发生的位置。
二 异常链的应用
1 代码示例
public class SalException extends Exception { public SalException(){} public SalException(String msg) { super(msg); } // 创建一个可以接受Throwable参数的构造器 public SalException(Throwable t) { super(t); } }
public class TestSalException { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { Calsal(); } catch(SalException e) { e.printStackTrace(); } } public static void Calsal() throws SalException { try { int a; a=8/0; } catch(Exception e) { throw new SalException(e); } } }
2 运行结果
SalException: java.lang.ArithmeticException: / by zero
at TestSalException.Calsal(TestSalException.java:29)
at TestSalException.main(TestSalException.java:11)
Caused by: java.lang.ArithmeticException: / by zero
at TestSalException.Calsal(TestSalException.java:25)
... 1 more
相关推荐
主要介绍了Java 常用类解析:java异常机制,异常栈,异常处理方式,异常链,异常丢失详解的相关资料,需要的朋友可以参考下
ExpHandel_B回调:代码://可注释 存在的意义 是更好理解SEH执行流程EXCEPTION_DISPOSITION ExpHandel_B(
下面小编就为大家带来一篇浅谈java异常链与异常丢失。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
换链神器是一款基于站长友情链接互换的辅助工具,使用换链神器可以节省大量的换链时间,提升工作效率,让站长方便快速的匹配到合适自己的链接进行互换。 换链神器功能特色: 资源丰富,数据实时 拥有数十个不同...
提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常(这里的异常包括错误概念),定义异常处理的规范,在1.4版本以后增加了异常链机制,从而便于跟踪异常!这是Java语言...
本文提供了二十道常见的面试题,涵盖了Java异常处理的基本知识、异常类型、异常处理机制、关键字、异常链等方面。这些问题旨在考察候选人对Java异常处理的理解和应用能力。通过阅读本文,您将能够深入了解Java异常...
Java 中的 Exception 是什么? Java 中的检查型异常和非检查型异常有什么区别? Java 中的 NullPointerException 和 ArrayIndexOutOfBoundException 之间有什么相同之处?...什么是“异常链”? ....
FANUC机器人发生SRVO-230/SRVO-231链异常时的解决办法 发生此报警的原因:1.发生了双重化的安全信号不一致2.若在刚刚通电后发生报警,可能时由于示教器的规格不匹配导致。
异常链 •当业务逻辑层访问持久层出现SQLException异常时,程序不应该把底层的SQLException异常传 到用户界面,原因有如下两个: –对于正常用户而言,他们不想看到底层SQLException,SQLException对...
FANUC机器人发生SRVO-230_SRVO-231链异常时的解决办法(图文)
TCP是一种面向连接的协议,连接的建立和断开需要通过收发相应的分节来实现。某些时候,由于网络的故障或是一方主机的突然崩溃而另一方无法检测到,以致始终保持着不存在的...下面介绍一种方法来检测这种异常断开的情况
我们使用A,B,C,D型通用量规组在理论中研究了与这种离散的单形式对称性相关的't Hooft异常。 我们建议通过计算对称生成器跨越的子空间中的Hopf状态纠缠来检测离散异常,并基于截短的模块化S矩阵开发一种系统的...
课程目标 1、精通JavaEE平台开发的JAVA软件工程师,能够胜任各种行业的...[第77节] 1.8.8 异常链的使用3 [第78节] 1.9.1 封装、继承和多态 [第79节] 1.9.2 异常 [第80节] 1.9.3 内部类串讲 [第81节] 1.10.1职场写作力
用来修复网络链接异常的工具 解决QQ上得了 IE上不了的情况 (1)局域网完全流畅,可以资料共享,却不能上网 (2)可以登陆QQ,但无法链接外网 (3)局域网、外网全部无法连通,用Ping命令对网络进行检测的时候,PC...
提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常(这里的异常包括错误概念),定义异常处理的规范,在1.4版本以后增加了异常链机制,从而便于跟踪异常!这是Java...
KiUserExceptionDispatcher这个函数是Windows的异常处理过程中的很重要的一个步骤,它负责派发用户层空间发生的所有异常到异常链中的异常处理函数地址,每当在用户层空间发生异常的时候就会调用这个函数。...
10.4.4 异常链 373 10.5 Java的异常跟踪栈 374 10.6 异常处理规则 376 10.6.1 不要过度使用异常 377 10.6.2 不要使用过于庞大的try块 378 10.6.3 避免使用Catch All语句 378 10.6.4 不要忽略捕获到的异常 379 ...
本文来自于cnblogs,文章主要从基础概念说起,又讲解了体系结构,Java的异常处理机制,异常链等相关,详细内容请看下文。异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,...