异常处理

1 异常类的父子关系

非检查异常 包括 运行时异常,error      检查异常 包括 非运行时异常)
非检查异常 包括 运行时异常,error 检查异常 包括 非运行时异常)
2 简单的据介绍一下基础异常这个对象Throwable包含的内容
1.8源码

public class Throwable implements Serializable {
private static final long serialVersionUID = -3042686055658047285L;//序列化的标识
private transient Object backtrace; //临时存储一些栈回溯的数据
...
...
private String detailMessage;//异常的信息
private StackTraceElement[] stackTrace = UNASSIGNED_STACK;// 异常信息的异常栈
private Throwable cause = this; //引起异常的原因  如果指向的是自己或者null 说明是该异常是产生异常的源头
...
printStackTrace()//异常打印
}
其他的省略了主要是就这三个对象
消息   异常栈   异常原因 (本身也是一个异常)

3 构造异常
构造一个异常exception只需要 具备这三个地方
message 初始化 new Throwable(“message”)
.setStackTrace(“异常栈”)
initCause(cause) //存放原因

由此第三方的异常均可转化为自己需要转化的异常

其中printStackTrace()中根本调用的是printEnclosedStackTrace()
其中有这么一句话

for (int i = 0; i <= m; i++)
                s.println(prefix + "\tat " + trace[i]);
            if (framesInCommon != 0)
                s.println(prefix + "\t... " + framesInCommon + " more");

这就是为什么会出现 11 more 的原因

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值