Wrapping the root exception with BaseAppException will not the stack-trace of original cause if you are working in JDK 1.4+ environment. However, for older JDK versions, there is a problem in keeping original stacktrace intact. <b/> In that case you need to modify BaseAppException for root-cause stacktrace implementation. You can take a look on NestedCheckedException implementation in Spring framework as a reference for the same.