Modify message more kindly in error cases

I added more kind error messages.
After this commit, we can use `Base.failwith : string -> exn` for error messages.