Added an abstract Exception that supports formatting