make exceptions require a message
method parser