RFR: 8348106: Catch C++ exception in Java_sun_awt_windows_WTaskbarPeer_setOverlayIcon
Abhishek Kumar
abhiscxk at openjdk.org
Mon Feb 10 08:41:14 UTC 2025
On Sat, 8 Feb 2025 04:02:08 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:
>> **Issue:**
>> The JNI method `Java_sun_awt_windows_WTaskbarPeer_setOverlayIcon `calls `CreateIconFromRaster `that can throw a C++ exception.
>>
>> The C++ exception must be caught and must not be allowed to escape the JNI method. The call to `CreateIconFromRaster `has to wrapped into a try-catch block.
>>
>> **Solution:**
>>
>> Added exception handling to make sure any exception from `CreateIconFromRaster `is handled properly.
>>
>> Testing done.
>
> It would be good to check what type of exception the methods chain can throw, is it only std::bad_alloc()? if yes, then we can use TRY + CATCH_BAD_ALLOC. If we can get another exception, we should figure out how we can report this error to the user.
This looks good but I agree with @mrserb that if the exception type can be narrowed down to specific types, will be better.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23470#issuecomment-2647281825
More information about the client-libs-dev
mailing list