Edited exception handling in run()

Adjusted with changes in UI methods.
Added a try-catch block within the user interaction loop. Exceptions will
cause the system to print an error message, but not terminate. The system
will keep asking for the next user input.