Allow Different Error Messages Depending On Exception Type

I wanted to make it possible to wrap a generic exception type but also
make it possible to still provide more meaningful messages for different
exception types. Before you could only have one exception message per
method. Now you can have as many as needed for the different exception
types.