We have a custom exception OperationFailedException
to abort a program.
This is very handy when we detect an error and wish to stop the program right now and display an error message to user.
Many programs use this mechanism.
One example is PokemonLA_DistortionWaiter.