-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error classification #66
Comments
I am usually a fan of custom error classes for flow management, so I like this idea. Categories look good, though I suspect they're what the upstream manager wants to know more than than what the throwing program knows about its situation.
I thought pymatgen was going to be more helpful than it turned out: |
Yea, I had poked through there as well without finding too much. Is the |
I was thinking |
So we have:
I think that's a pretty good list to get started? |
Closed in #69. |
It would be good to add error classification to these models so that can downstream programs can make decisions on what should happen. Several examples:
InputError
- (non-recoverable) error in the user input (e.g., incorrect keyword or method)SetupError
- (recoverable) example: scratch directory is not writeableConvergenceError
- (recoverable) likely requires options tweaking to enhance iterative convergence.RandomError
- (recoverable) random seg fault or the like.Recoverable/non-recoverable in a distributed computing sense where an upstream manager can make the decision to resubmit.
My initial thought here is that we build these as Exception classes so that the
compute
command can capture them and either properly process them into proper JSON error message or let them raise. I am usually not a fan of custom error classes, but here is a good case where there is a variety of different behaviors that you want to elicit depending on the type of error provided.It would be good to kick around the different error types for a bit before implementing.
The text was updated successfully, but these errors were encountered: