Rework exception classes and test against throwing