Eccezioni non dichiarate nella JNI
-
29-09-2019 - |
Domanda
Cosa succede se una dll JNI genera un'eccezione Java e la definizione del metodo Java non dichiara tale eccezione (no lancia clausola)?
Codice:
private native void jniDoSomething(int someValue);
Soluzione
L'eccezione verrà comunque lanciata.Ho appena controllato questo.
Penso che tale comportamento sia dovuto a quello throws
la parola chiave non influisce comunque sul codice nativo.Non è possibile verificare se il codice nativo genera l'eccezione appropriata e anche nel file di intestazione non vengono menzionate le eccezioni.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow