java捕获抛出异常_捕获java中所有抛出的异常?

我怀疑这样的事情是可能的,但是如果没有将调试器附加到java应用程序,是否可以让一些集合填充有关java应用程序中生成的每个异常的信息,无论它是否被捕获?我知道在.NET中,应用程序会生成有关异常的消息,这些异常在此时称为“First Chance Exceptions”,随后可能会或可能不会由应用程序处理.我想知道在java中是否可能存在类似的机制,我可以利用它来查看有关在运行时生成的所有异常的信息.

只是为了澄清.这与发生异常的上下文无关.这个问题不是关于我在catch块中做了什么,或者是未处理的异常.它是关于知道JVM是否提供了一种机制来查看在运行时生成的每个异常,无论生成什么或上下文.

解决方法:

为什么不呢,这当然是可能的!但首先..记录JVM遇到的所有异常都是浪费生命.它在任何意义上都毫无意义,可能会有几个没有任何意义的抛弃.

但如果确实如果你别无选择,你可以调整你的Java来做到这一点.

打破良好的编程规则,我们的生活,我给你这个想法:

>将JDK源代码中的java.lang.Exception的源代码复制到项目中.

>在Exception.java中创建一个方法,如下所示:

private void logException() {

// Your logging routine here.

}

>编辑java.lang.Exception以在每个构造函数的末尾调用此方法logException().

>将新的java.lang.Exception添加到bootstrap类路径中.

>设置您的日志记录级别等并运行.

抬起头来,把它呈现给你那怪异的客户,用你的外交技巧并用几句话吓唬他们“我们可以做到这一点……但这是你自己的风险”.你可能会说服他不要使用它.

标签:java,exception-handling,first-chance-exception

来源: https://codeday.me/bug/20190528/1173012.html

参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

Aconitine

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值