> On 15 Jan 2015, at 11:21, Maruan Sahyoun <[email protected]> wrote:
> 
> 
>> On 15 Jan 2015, at 10:56, Maruan Sahyoun <[email protected]> wrote:
>>> 
>>> so if I understand an summarize correctly we'd change
>>> 
>>> - the usage() for all to return 1
>> 
>> Except when the user has asked for the usage via -h, because that’s a 
>> success, not a failure.
>> 
> 
> as there is no -h at the moment  … 

Ok, well that makes it easy.

>>> - print messages on exceptions to System.err
>>> - rethrow the exception so java can handle it if it will terminate 
>>> afterwards anyway
>> 
>> Yes, I think we mostly do that… if not in all cases, then we should be doing 
>> that, at least for IOException.
>> 
> 
> not for the ones which haven't been touched for a while

I had a feeling that might be the case… we should fix that too.

>>> - use something above 2 and below 126 as an error code for System.exit() if 
>>> rethrowing doesn't make sense
>> 
>> 1 is fine, as I’d expect you’ll be dealing with exceptions due to invalid 
>> passwords, encryption, etc. which are everyday problems.
>> 
> 
> ok - let's use 1 
> 
> I'll open an issue for that and set it to 2.1 - code cleanup can be done as 
> part of PDFBOX-2576.

Great.

> 
>>> OK?
>>> 
>>> Maruan
>>> 
>>> 
>>> Am 15.01.2015 um 19:03 schrieb John Hewson <[email protected]>:
>>> 
>>>> If the usage was printed due to invalid command line parameters, then the 
>>>> convention on Unix is to return exit code 1. We should be doing that too.
>>>> 
>>>> Note than if Java throws an exception which causes main() to exit and 
>>>> there is no catch clause, then java will return a non-zero code of its own 
>>>> accord. If we’re catching fatal exceptions in main, then we should 
>>>> System.exit(1) afterwards.
>>>> 
>>>> -- John
>>>> 
>>>>> On 15 Jan 2015, at 09:13, Maruan Sahyoun <[email protected]> wrote:
>>>>> 
>>>>> Yes,
>>>>> 
>>>>> current behavior within the tools 
>>>>> usage(): some tools have a System.exit, some don't and for the ones they 
>>>>> have the exit code is not always the same.
>>>>> -main() there is no System.exit for the ones I looked at in case of an 
>>>>> error. Only an error message is written to System.err
>>>>> 
>>>>> You'd rather expect System.exit > 0 in case there is an issue in main 
>>>>> processing and then System.exit as part of usage makes sense. If there is 
>>>>> none on main there shouldn't be one on usage().
>>>>> 
>>>>> So I'd remove it on usage() too.
>>>>> 
>>>>> WDYT?
>>>>> 
>>>>> Maruan 
>>>>> 
>>>>> Am 15.01.2015 um 18:00 schrieb Andreas Lehmkuehler <[email protected]>:
>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> Am 15.01.2015 um 17:20 schrieb John Hewson:
>>>>>>> Only if there's a non-zero number  used as the argument.
>>>>>> Yes, but IMO such a value is only useful if there is any processing 
>>>>>> issue. Maruans question targets those calls within the usage message 
>>>>>> which is shown only if there is any issue with the given commandline 
>>>>>> parameters.
>>>>>> 
>>>>>> I'd remove such calls.
>>>>>> 
>>>>>>> -- John
>>>>>>> 
>>>>>>>> On 15 Jan 2015, at 06:06, Maruan Sahyoun <[email protected]> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> Hi,
>>>>>>>> 
>>>>>>>> do we need System.exit() in our command line tools usage messages? 
>>>>>>>> Opinions? Don't see a benefit of having them.
>>>>>>>> 
>>>>>>>> BR
>>>>>>>> Maruan
>>>>>> 
>>>>>> BR
>>>>>> Andreas LEhmkühler
>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to