summaryrefslogtreecommitdiffstatshomepage
path: root/unix/modjni.c
diff options
context:
space:
mode:
Diffstat (limited to 'unix/modjni.c')
-rw-r--r--unix/modjni.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/unix/modjni.c b/unix/modjni.c
index 3946232615..ef416ee48e 100644
--- a/unix/modjni.c
+++ b/unix/modjni.c
@@ -450,15 +450,19 @@ STATIC mp_obj_t call_method(jobject obj, const char *name, jarray methods, bool
} else {
if (MATCH(ret_type, "void")) {
JJ(CallVoidMethodA, obj, method_id, jargs);
+ check_exception();
ret = mp_const_none;
} else if (MATCH(ret_type, "int")) {
jint res = JJ(CallIntMethodA, obj, method_id, jargs);
+ check_exception();
ret = mp_obj_new_int(res);
} else if (MATCH(ret_type, "boolean")) {
jboolean res = JJ(CallBooleanMethodA, obj, method_id, jargs);
+ check_exception();
ret = mp_obj_new_bool(res);
} else if (is_object_type(ret_type)) {
res = JJ(CallObjectMethodA, obj, method_id, jargs);
+ check_exception();
ret = new_jobject(res);
} else {
JJ(ReleaseStringUTFChars, name_o, decl);