Index: base/android/jni_android.cc |
diff --git a/base/android/jni_android.cc b/base/android/jni_android.cc |
index f99f1aba16677252e67b0c6e4268f14d0b397d71..9000e86bcaf372fd59f763d9b408df92bb64177b 100644 |
--- a/base/android/jni_android.cc |
+++ b/base/android/jni_android.cc |
@@ -157,13 +157,23 @@ jfieldID GetFieldID(JNIEnv* env, |
return id; |
} |
-bool CheckException(JNIEnv* env) { |
- if (env->ExceptionCheck() == JNI_FALSE) |
+bool HasException(JNIEnv* env) { |
+ return env->ExceptionCheck() != JNI_FALSE; |
+} |
+ |
+bool ClearException(JNIEnv* env) { |
+ if (!HasException(env)) |
return false; |
- env->ExceptionDescribe(); |
env->ExceptionClear(); |
return true; |
} |
+void CheckException(JNIEnv* env) { |
+ if (HasException(env)) { |
+ env->ExceptionDescribe(); |
+ CHECK(false); |
+ } |
+} |
+ |
} // namespace android |
} // namespace base |