Feature #3034

Updated by Eric Irrgang 10 months ago

@libgmxapi@ can throw exceptions derived from @gmxapi::Exception@, defined in the gmxapi/exceptions.h installed header. These exceptions should have bindings in the gmxapi Python package (in the @_gmxapi@ C++ extension module) so that they are easily catchable from Python.

Should C++ exceptions Exceptions defined in the @_gmxapi@ module should derive from @gmxapi::Exception@? @gmxapi::Exception@.

Is it a priority that users Users of the Python package should be able to use @gmxapi.exceptions.Error@ as a catch-all base exception, even for exceptions originating in the _gmxapi extension module or in the core GROMACS library? exception.

Developer documentation should describe how exceptions propagate and how they are catchable in both directions between Python and C++, with explanations of caveats for exceptions originating in different binaries or Python packages.

Also reference prior discussion at