java - 在不丢失堆栈跟踪的情况下重新抛出 Java 中的异常

标签 java exception

在 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/

相关文章:

c# - 获取第一次异常的行号

java - (2009) - 反混淆 Java 代码的工具

java - 如何在java中将char []转换为字符串?

java - Hibernate "Like"两侧表达式 Criteria

java - 如何从软键盘获取输入文本

android - 为什么我从下面的代码中得到这个 IOException?

java - 获取在 doGet() 中创建的单选按钮的值

Ruby 异常跟踪

java - 通过套接字使用 ObjectStreams 传输 Java key 对象

c++ - C++ 如何处理 try catch block 中的赋值?