I have a script that can be broken up into four subtasks. If any of those subtasks fail, I wish to exit with a different exit code and error.
Assume that the script is going to be run by system administrators who know no Python and are terrified of tracebacks, and that I'm logging the full traceback elsewhere (not shown). I have something like this: try: begin() except BeginError: print("error in begin") sys.exit(3) try: cur = get_cur() except FooError: print("failed to get cur") sys.exit(17) try: result = process(cur) print(result) except FooError, BarError: print("error in processing") sys.exit(12) try: cleanup() except BazError: print("cleanup failed") sys.exit(8) It's not awful, but I don't really like the look of all those try...except blocks. Is there something cleaner I can do, or do I just have to suck it up? -- Steven 299792.458 km/s — not just a good idea, it’s the law! -- https://mail.python.org/mailman/listinfo/python-list