Added an ask-to-print hidden function, improved error handling, fixed error will all lowercase input and made sure any error was considered.