allow exception handling to be overridden