Объясню вопрос кодом:
public static void main(String... args) {
User32 user32 = Native.loadLibrary("user32", User32.class, W32APIOptions.DEFAULT_OPTIONS);
try {
user32.EnumChildWindows(
null /*hWnd, с таким аргументом выхов callback произойдет*/,
(hWnd, data) -> {
throw new RuntimeException("Test");
},
null /*data*/);
System.out.println("Test exception is not catched :("); // Попадаем сюда
} catch (Throwable t) {
System.out.println("Test exception catched :)"); // А хотелось бы сюда
}
}
Пробовал перевыбросить исключение в
Native.setCallbackExceptionHandler
, но результат аналогичный.