For ikke at genopfinde hjulet, hvis du bruger Apache Commons Lang, så kig på ExceptionUtils.getRootCause().
Er det værd at inkludere et bibliotek bare for det? Måske ikke. Men hvis du allerede har det på din klassesti, er det der for dig, og bemærk, at det gør nogle ting, som en 'naiv' implementering måske ikke gør (f.eks. håndtere cyklusser i årsagskæden... ugh!)