Convert the error handling system to Python. Separate the system in two:
- Exception handling: a hierarchy of PROCESS errors that replace level 3 errors
- Warning handling: a system to record warnings and diagnostics to be displayed at the end of a PROCESS run
Exception handling
Provide a parent ProcessException object
- This will allow PROCESS-thrown errors to be easily caught by internal and external code
- Diagnostics can be attached directly to the error
Additional, more specific, exceptions? (e.g. ProcessValueError).
Warning handling
Handled by a central object attached directly to the models?
No more warning IDs. Duplicate warnings are identified by comparing the message directly.
Diagnostics are attached directly to the warning (as a dictionary?)
Report at the end as currently.
Blocked by constraint_equations.f90, evaluators.f90, init_module.f90, initial.f90, iteration_variables.f90, main_module.f90, scan.f90
Convert the error handling system to Python. Separate the system in two:
Exception handling
Provide a parent
ProcessExceptionobjectAdditional, more specific, exceptions? (e.g.
ProcessValueError).Warning handling
Handled by a central object attached directly to the models?
No more warning IDs. Duplicate warnings are identified by comparing the message directly.
Diagnostics are attached directly to the warning (as a dictionary?)
Report at the end as currently.
Blocked by
constraint_equations.f90,evaluators.f90,init_module.f90,initial.f90,iteration_variables.f90,main_module.f90,scan.f90