driplineorg / dripline-python

python implementation of project8/dripline
Apache License 2.0
3 stars 6 forks source link

Standardize exception handling #166

Open nsoblath opened 4 months ago

nsoblath commented 4 months ago

Exception handling in dl-cpp: https://github.com/driplineorg/dripline-cpp/issues/103

The primary execution of most actions in dl-py takes place in C++, so most error handling will end up in the C++ code. Between C++ and Python the typical sequence of stages is Caller (Python) --> Execution (C++) --> Details (Python). Details includes things like doing calibrations. Most time is spent in the Execution and Details stages, and the Execution stage is typically responsible for the final error handling and making decisions about whether to exit the application. So we need to ensure that the error handling drops back to the C++ in the right ways.

Caller stage

Execution stage

See https://github.com/driplineorg/dripline-cpp/issues/103

Details stage

I have not checked any code in Implementations.