在Java中重新发现异常,而不会丢失堆栈跟踪 [英] Rethrowing exceptions in Java without losing the stack trace
本文介绍了在Java中重新发现异常,而不会丢失堆栈跟踪的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在C#中,我可以使用 throw;
语句在保留堆栈跟踪时重新抛出异常:
In C#, I can use the throw;
statement to rethrow an exception while preserving the stack trace:
try
{
...
}
catch (Exception e)
{
if (e is FooException)
throw;
}
在Java中有这样的东西(不会丢失原始堆栈跟踪)?
Is there something like this in Java (that doesn't lose the original stack trace)?
推荐答案
catch (WhateverException e) {
throw e;
}
只会重新抛出您遇到的异常(显然,周围的方法必须通过其签名等方式)。例外情况将维持原始堆栈跟踪。
will simply rethrow the exception you've caught (obviously the surrounding method has to permit this via its signature etc.). The exception will maintain the original stack trace.
这篇关于在Java中重新发现异常,而不会丢失堆栈跟踪的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文