Throwing a general Exception was ugly...

... this is a cleaner approach.