bluesky.preprocessors.contingency_wrapper¶
- bluesky.preprocessors.contingency_wrapper(plan, *, except_plan=None, else_plan=None, final_plan=None, pause_for_debug=False)[source]¶
try…except…else…finally helper
See
finalize_wrapper()
for a simplified but less powerful error-handling preprocessor.- Parameters:
- planiterable or iterator
a generator, list, or similar containing Msg objects
- except_plangenerator function, optional
This will be called with the exception as the only input. The plan does not need to re-raise, but may if you want to change the exception.
Only subclasses of Exception will be passed in, will not see GeneratorExit, SystemExit, or KeyboardInterrupt
- else_plangenerator function, optional
This will be called with no arguments if plan completes without raising
- final_plangenerator function, optional
a generator, list, or similar containing Msg objects or a callable that reurns one; attempted to be run no matter what happens in the first plan
- pause_for_debugbool, optional
If the plan should pause before running the clean final_plan in the case of an Exception. This is intended as a debugging tool only.
- Yields:
- msgMsg
messages from plan until it terminates or an error is raised, then messages from final_plan
See also