在Java中重新发现异常,而不会丢失堆栈跟踪

问题:

在C#中,我可以使用throw;语句在保留堆栈跟踪时重新抛出异常:

try
{
   ...
}
catch (Exception e)
{
   if (e is FooException)
     throw;
}

在Java(这不会丢失原始堆栈跟踪)中有这样的东西吗?

回答:

catch (WhateverException e) {
    throw e;
}

只会重新抛出您遇到的异常(显然,周围的方法必须通过其签名等)。异常将保持原始堆栈跟踪。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Rethrowing exceptions in Java without losing the stack trace

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 56 = 61