Clean way to return error codes
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Mon Nov 21 02:09:51 EST 2016
More information about the Python-list mailing list
Mon Nov 21 02:09:51 EST 2016
- Previous message (by thread): TemplateError
- Next message (by thread): Clean way to return error codes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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!
- Previous message (by thread): TemplateError
- Next message (by thread): Clean way to return error codes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list