-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The InputParser module consists of many custom-defined exceptions that aid in providing users useful feedback on why their input file could not be parsed.
These should be moved to their own module.
Furthermore, all other modules that use these errors should be updated to import them correctly. Take particular note of the ErrorId field some of these custom exceptions have. These have been added since Julia has a big problem with comparisons of user-defined structs that are imported in other modules. For example, when checking in vdisp.jl if parsing a file threw a ParsingError by catching an error e and checking isa(e, ParsingError), it will return false since technically the type of the error will be Main.InputParser.ParsingError instead of Main.vdisp.InputParser.ParsingError. For this reason, each error that will need to be accessed outside the module they are defined in are given a unique id through the ErrorId enum. Make sure this logic is preserved or error checking will break.