Preserve the thrown stack trace

Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

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