Preserve the thrown stack trace

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください

Metadata

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
        }
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis