JNIEXPORT jlong JNICALL Java_com_squareup_duktape_Duktape_get(JNIEnv *env, jclass type, jlong context, jstring name, jobjectArray methods) { DuktapeContext* duktape = reinterpret_cast<DuktapeContext*>(context); if (duktape == nullptr) { queueNullPointerException(env, "Null Duktape context - did you close your Duktape?"); return 0L; } try { return reinterpret_cast<jlong>(duktape->get(env, name, methods)); } catch (const std::invalid_argument& e) { queueIllegalArgumentException(env, e.what()); } catch (const std::exception& e) { queueDuktapeException(env, e.what()); } return 0L; }