Use typed exception.
Update error messages