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