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

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

Java中是否有类似的东西( 不会丢失原始堆栈跟踪 )?

最佳答案

catch (WhateverException e) {
    throw e;
}

将简单地重新抛出您捕获的异常(显然,周围的方法必须通过其签名等来允许这一点)。异常将保留原始堆栈跟踪。

关于java - 在 Java 中重新抛出异常而不丢失堆栈跟踪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1097527/

10-13 08:24