Raising Errors In Game Exercises

Raising an error causes the program in question to crash…so why is it that we are coding these games to cease functioning when a user or an rspec command enters an invalid input?
I mean they’re supposed to be games. Who wants to be forced to restart their game because of a typo?
Why not use an exception handler loop that doesn’t break until input is valid?
Is there some secret special reason why we would be using raise rather than something a scoche more elegant and non-crashy?

Raising errors helps show that there’s something wrong with the code. It isn’t meant for the user. It’s there for the programmer. If you write code that gives the wrong arguments to a method, you want to know there’s something wrong rather than having the code fail silently. If no error is raised the programmer won’t know what’s wrong, and debugging will take longer.

If the user is in charge of input, then you do want to handle a different way. That’s something rescue is good for.