All Downloads are FREE. Search and download functionalities are using the official Maven repository.

resources.report.rules.pmd.PreserveStackTrace.html Maven / Gradle / Ivy



PreserveStackTrace

PreserveStackTrace

Throwing a new exception from a catch block without passing the original exception into the new exception will cause the original stack trace to be lost making it difficult to debug effectively.

This rule is defined by the following Java class: net.sourceforge.pmd.lang.java.rule.design.PreserveStackTraceRule

Example(s):

    
public class Foo {
    void good() {
        try{
            Integer.parseInt("a");
        } catch (Exception e) {
            throw new Exception(e); // first possibility to create exception chain
        }
        try {
            Integer.parseInt("a");
        } catch (Exception e) {
            throw (IllegalStateException)new IllegalStateException().initCause(e); // second possibility to create exception chain.
        }
    }
    void bad() {
        try{
            Integer.parseInt("a");
        } catch (Exception e) {
            throw new Exception(e.getMessage());
        }
    }
}
    




© 2015 - 2024 Weber Informatics LLC | Privacy Policy