I dunno how you feel about this pattern, but inheriting from Error seems more idiomatic.