Preserve the thrown stack trace
このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、
お気軽にご連絡ください。
ID: java-best-practices/preserve-stack-trace
Language: Java
Severity: Notice
Category: Best Practices
Description
This rule identifies when exceptions are raised within a catch
block but are not relevant to the exception parameter specified in the catch
block. This can result in the original exception’s stack trace information being lost, which leads to throwing less detailed exceptions.
Non-Compliant Code Examples
public class Foo {
void foo() {
try {
Integer.parseInt("foo");
} catch (Exception e) {
throw new Exception(e.getMessage()); // only throwing the message here
}
}
}
Compliant Code Examples
public class Foo {
void foo() {
try {
Integer.parseInt("foo");
} catch (Exception e) {
throw new Exception(e); // sending the full exception at least
}
}
}