Improved Exceptions

Closes #363.