Best practices for Exception handling Using inner classes
howtodoinjava.com