Get detail messages of chained exceptions Java
chaining, exception, java
Solution
I think what you need is:
public static List<String> getExceptionMessageChain(Throwable throwable) {
List<String> result = new ArrayList<String>();
while (throwable != null) {
result.add(throwable.getMessage());
throwable = throwable.getCause();
}
return result; //["THIRD EXCEPTION", "SECOND EXCEPTION", "FIRST EXCEPTION"]
}
Problem
I'd like to know how I could throw a "final" `Exception`, containing a detailed message with all the detailed messages of a number of chained exceptions. For example suppose a code like this: ``` try { try { try { try { //Some error here } catch (Exception e) { throw new Exception("FIRST EXCEPTION", e); } } catch (Exception e) { throw new Exception("SECOND EXCEPTION", e); } } catch (Exception e) { throw new Exception("THIRD EXCEPTION", e); } } catch (Exception e) { String allMessages = //all the messages throw new Exception(allMessages, e); } ``` I'm not interested in the full `stackTrace`, but only in the messages, I wrote. I mean, I'd like to have a result like this: ``` java.lang.Exception: THIRD EXCEPTION + SECOND EXCEPTION + FIRST EXCEPTION ```