import Control.Exception import Rpn main = do putStrLn "\nEnter an expression:" line <- getLine if null line then return () else do putStrLn ("RPN: " ++ (showFormulaRPN line)) `catch` handler putStrLn ("= " ++ (show (evaluateFormula line))) `catch` handler main where handler :: SomeException -> IO () handler ex = putStrLn $ "Exception: " ++ show ex