i like the current convention where throwing from a top level function makes the program return 1. i don’t think there’s much value in allowing for non-boolean return codes, since that reduces portability.

one problem with top level errors is they always print a full stack trace when the program exists, and sometimes i want to print something more user-friendly. if there were a way to customize the error output, i would not need to return exit codes from main.

1 Like