-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update README.md #52
base: master
Are you sure you want to change the base?
Update README.md #52
Conversation
Add helpfull description for help message showing
Codecov Report
@@ Coverage Diff @@
## master #52 +/- ##
=========================================
Coverage 82.97% 82.97%
Complexity 138 138
=========================================
Files 11 11
Lines 417 417
Branches 82 82
=========================================
Hits 346 346
Misses 36 36
Partials 35 35 Continue to review full report at Codecov.
|
e.printAndExit() | ||
} | ||
``` | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for pointing that this was not clear enough!
The supported way to do this is actually to use mainBody
, or at least to catch all SystemExitException
s, as mentioned in the Error Handling section.
Perhaps just change this to say something like:
For help messages to correctly display you must properly handle any
SystemExitException
that is thrown as described in Error Handling.
You could even link to that section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your response.
I think, that catch only awaited exception (such as ShowHelpException
) is best way. In this case we need to catch only exception which will say to show help and catching ShowHelpException
will give us all what we need.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think I understand your point.
ShowHelpException
is a subclass of SystemExitException
. In most cases you probably want to handle all SystemExitException
s, not just ShowHelpException
. They all contain a message for the user, as well as an exit code. The exit code for ShowHelpException
just happens to be 0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean that any other exception must be handled by other way. In this case we need to catch just ShowHelpException
and it is will be ok for show help message
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But you don't need to handle other SystemExitExceptions in a different way. All SystemExitExceptions can be handled by calling their printAndExit()
method or by using mainBody
(which will call printAndExit
for you). It would be pretty unusual to need to catch only ShowHelpException
.
Add helpfull description for help message showing