Mar*_*k W 4 java exception-handling first-chance-exception
我怀疑这样的事情是可能的,但是如果没有将调试器附加到java应用程序,是否可以让一些集合填充有关java应用程序中生成的每个异常的信息,无论它是否被捕获?我知道在.NET中,应用程序会生成有关异常的消息,这些异常在此时称为"First Chance Exceptions",随后可能会或可能不会由应用程序处理.我想知道在java中是否可能存在类似的机制,我可以利用它来查看有关在运行时生成的所有异常的信息.
只是为了澄清.这与发生异常的上下文无关.这个问题不是关于我在catch块中做了什么,或者是未处理的异常.它是关于知道JVM是否提供了一种机制来查看在运行时生成的每个异常,无论生成什么或上下文.
为什么不呢,这当然是可能的!但首先..记录JVM遇到的所有异常都是浪费生命.从各方面来说,它都毫无意义,可能会有一些没有任何意义的抛弃.
但如果确实如果你别无选择,你可以调整你的Java来做到这一点.
打破良好的编程规则,我们的生活,我给你这个想法:
将java.lang.ExceptionJDK 源代码的源代码复制到项目中.
在Exception.java中创建一个方法,如下所示:
private void logException() {
// Your logging routine here.
}
Run Code Online (Sandbox Code Playgroud)编辑java.lang.Exception以logException()在每个构造函数的末尾调用此方法.
将新添加java.lang.Exception到bootstrap类路径.
设置您的日志记录级别等并运行.
抬起头来,把它呈现给你那怪异的客户,用你的外交技巧并用几句话吓唬他们" 我们可以做到这一点......但这是你自己的风险 ".你可能会说服他不要使用它.
| 归档时间: |
|
| 查看次数: |
1122 次 |
| 最近记录: |