Throwable的4个public构造方法

Throwable是Java中所有异常和错误的基类,它包含四个构造器用于创建异常实例,message和cause是其关键参数,分别表示异常信息和触发异常的原因。异常链允许跟踪底层异常,fillInStackTrace()方法用于记录异常发生时的堆栈轨迹。Throwable提供了如printStackTrace()和getMessage()等方法来获取和打印异常信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Throwable

NullPointerException和NumberFormatException有一个共同的父类Throwable,它有4个public构造方法:

1. public Throwable()

2. public Throwable(String message)

3. public Throwable(String message, Throwable cause)

4. public Throwable(Throwable cause)

Throwable类有两个主要参数:一个是message,表示异常消息;另一个是cause,表示触发该异常的其他异常。异常可以形成一个异常链,上层的异常由底层异常触发,cause表示底层异常。Throwable还有一个public方法用于设置cause:

Throwable initCause(Throwable cause)

Throwable的某些子类没有带cause参数的构造方法,就可以通过这个方法来设置,这个方法最多只能被调用一次。在所有构造方法的内部,都有一句重要的函数调用:

fillInStackTrace();

它会将异常栈信息保存下来,这是我们能看到异常栈的关键。Throwable有一些常用方法用于获取异常信息,比如:

void printStackTrace() //打印异常栈信息到标准错误输出流

//打印栈信息到指定的流,PrintStream和PrintWriter在第13章介绍

void printStackTrace(PrintStream s)

void printStackTrace(PrintWriter s)

String getMessage() //获取设置的异常message

Throwable getCause() //获取异常的cause

//获取异常栈每一层的信息, 每个StackTraceElement包括文件名、类名、函数名、行号等信息

StackTraceElement[] getStackTrace()

https://www.bilibili.com/video/BV1XD4y1N7pm/?p=3&spm_id_from=pageDriver&vd_source=a7816e3b2a3a67ac39dc87f6bf92421c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值