The current error check can only handle errors that has exactly the same message, when error message is not constant.
For example parsing error has the message describe the context of the error.
With this error type, we can includes context information in the message and still able to check the error type.