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);
È stato utile?

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
scroll top