http://www.theregister.co.uk/2006/01/11/exception_handling/