We currently use exit(-1); whenever the code does something undesirable. This does not allow users to control the handling of these exceptions. We could make some simple exception classes with standardized return values that give users this control, return exception-specific return values, and make use of the try-catch block in main.cpp. Two simple exception classes would be ParsingError and SimulationError.