Dev/Java

[Java] getRootCause

냐옴 2014. 11. 26. 17:29

public Throwable getRootCause(Throwable e) {

    if (e == null) return null;

    

    Throwable t = e;

    Throwable prevT = t;

    

    while (true) {

        t = t.getCause();

        if (t == null) break;

        prevT = t;

    }

    

    return prevT;

}


public String getRootCauseMsg(Throwable e) {

    Throwable t = getRootCause(e);

    if (t == null) return null;

    return t.getMessage();

}