Hi, Shashi.
Can you please clarify the purpose of this fix, because the bug states that the
code prints traceback to the system.err, even if the user tries to
catch/suppress an exception.
The current fix removed the system.err logging but the code which print trace
still there:
protected void getUIError(String msg) {
try {
throw new Error(msg);
}
catch (Throwable e) {
e.printStackTrace();
}
}
>> Through catching the error, the user can perform necessary recovery actions
>> without cluttering the system.err
I am not sure that the user is able to catch this error. So what is the
difference when we had an additional message before and after the fix?
>
> +1
>
> --Semyon
>
>
> On 06/12/2017 03:54 AM, Shashidhara Veerabhadraiah wrote:
>> Hi All,
>> Please review the code bug fix for JDK-6267105:UIDefaults.getUIError
>> dumps error message to System.err and also throws Error.
>>
>> Issue:
>> Error message was getting dumped to the system.err even though the
>> recovery actions were performed leading to unnecessary confusion regarding
>> the actual behavior.
>>
>> Fix:
>> This fix removes the call which prints the message to the system.err and
>> stores the message in the Error class. This same message can be retrieved
>> after we catch the error and calling getMessage() of the Error class.
>> Through catching the error, the user can perform necessary recovery actions
>> without cluttering the system.err. This fix does not modifies the 'user
>> effect' as the user would still get the same error as they were getting
>> before this fix.
>>
>> Test:
>> Now the system.err does not get cluttered though we performed the
>> necessary recovery actions. The error message string can be recovered by
>> calling getMessage() if needed.
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-6267105
>>
>> Webrev:
>> http://cr.openjdk.java.net/~aghaisas/shashi/6267105/webrev_00/
>>
>> Thanks and regards,
>> Shashi
>