You could define a custom ExitException and throw that, catching it at the top level and returning the error code stored inside it, from main(). Not ideal, but it would work.
Thi is really not ideal, since this is for a argument-parser, --help should print the help and then exit.
