What's the idiomatic way to exit a program with some error code?
The documentation for Exit
says "The program terminates immediately; deferred functions are not run.", and log.Fatal
just calls Exit
. For things that aren't heinous errors, terminating the program without running deferred functions seems extreme.
Am I supposed to pass around some state that indicate that there's been an error, and then call Exit(1)
at some point where I know that I can exit safely, with all deferred functions having been run?