使用e.printStackTrace(PrintWriter s)对异常信息处理

本文介绍了Java中处理异常的关键方法`e.printStackTrace(PrintWriter s)`。通过示例展示了如何将异常信息输出到文件和字符串中,强调了使用`PrintWriter`时需要注意的缓冲区问题,并解释了其在创建错误日志中的应用。
ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

e.printStackTrace(PrintWriter s)

 

在捕获异常的时候,大家都可能要用到这样的一条语句:e.printStackTrace();

e是Throwable的实例异常对象,用在catch语句中,相当于一个形参,一旦try捕获到了异常,那么就将这个异常信息交给e,由e处理,printStackTrace()是异常类的一个方法。与它重载的方法还有printStackTrace(PrintStream s) 和printStackTrace(PrintWriter s)。

在Throwable类中printStackTrace()内部是这样执行的:

public void printStackTrace() {
        printStackTrace(System.err);

}

它调用了printStackTrace(PrintStream s)方法。err是System类当中的一个静态PrintStream类型字段。所以它能传递进去。

至于另外两个我不在这里说。

上面这个例子,如果你为了图省事儿,这样写:

e.printStackTrace( new PrintWriter( new File( "G:/excep.txt" )));

那么结果会让你心痛到永远,你在文件中得不到它的异常信息,这是因为PrintWriter提供了一个缓冲区,因为此时可能你写进去的信息没有将缓冲区填满,那么它就不会输出。看来还是得规矩一点,一步一步的来。

 

通过这个程序可以将错误信息打印到G:/excep.txt中, 然后就可以告诉用户错误信息已经被打印在文件当中了,就相当于一个错误日志。

 

下面的这个例子将会把错误信息放入到String 中:

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值