JNI and C++ exceptions
Artem Ananiev
artem.ananiev at oracle.com
Fri Sep 27 02:10:05 PDT 2013
Hi,
here is a short question. In some JDK implementations (e.g. IBM's), JNI
may throw C++ exceptions. For example, env->NewByteArray() throws
bad_alloc. Right now in JDK/JavaFX native code we don't protect against
that. Should we? An anti-pattern that some source scanning tools warn
about is
<type> obj = new <type>();
if (!obj) {
// handle that
}
env->SomeJNICall();
If SomeJNICall() throws an exception, "obj" will never be deleted.
Protection against bad_alloc doesn't make much sense, since we're out of
memory anyway and will unlikely be able to recover, but what about other
exceptions?
Thanks,
Artem
More information about the openjfx-dev
mailing list