Fix: error handling in parser.parse