- added env->ExceptionCheck checks · rogervaas/node-java@b333dfe · GitHub
Skip to content

Commit b333dfe

Browse files
committed
- added env->ExceptionCheck checks
1 parent 86f0ee6 commit b333dfe

4 files changed

Lines changed: 47 additions & 4 deletions

File tree

src/java.cpp

Lines changed: 6 additions & 0 deletions

src/javaObject.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
jclass classClazz = env->FindClass("java/lang/Class");
2222
jmethodID class_getName = env->GetMethodID(classClazz, "getName", "()Ljava/lang/String;");
2323
jobject classNameJava = env->CallObjectMethod(objClazz, class_getName);
24+
assert(!env->ExceptionCheck());
2425
std::string className = javaObjectToString(env, classNameJava);
2526
std::replace(className.begin(), className.end(), '.', '_');
2627
std::replace(className.begin(), className.end(), '$', '_');
@@ -44,6 +45,7 @@
4445
jmethodID method_getName = env->GetMethodID(methodClazz, "getName", "()Ljava/lang/String;");
4546
for(std::list<jobject>::iterator it = methods.begin(); it != methods.end(); ++it) {
4647
jstring methodNameJava = (jstring)env->CallObjectMethod(*it, method_getName);
48+
assert(!env->ExceptionCheck());
4749
std::string methodNameStr = javaToString(env, methodNameJava);
4850

4951
v8::Handle<v8::String> methodName = v8::String::New(methodNameStr.c_str());
@@ -61,6 +63,7 @@
6163
jmethodID field_getName = env->GetMethodID(fieldClazz, "getName", "()Ljava/lang/String;");
6264
for(std::list<jobject>::iterator it = fields.begin(); it != fields.end(); ++it) {
6365
jstring fieldNameJava = (jstring)env->CallObjectMethod(*it, field_getName);
66+
assert(!env->ExceptionCheck());
6467
std::string fieldNameStr = javaToString(env, fieldNameJava);
6568

6669
v8::Handle<v8::String> fieldName = v8::String::New(fieldNameStr.c_str());

src/methodCallBaton.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ v8::Handle<v8::Value> MethodCallBaton::resultsToV8(JNIEnv *env) {
9393
jclass throwableClazz = env->FindClass("java/lang/Throwable");
9494
jmethodID throwable_getCause = env->GetMethodID(throwableClazz, "getCause", "()Ljava/lang/Throwable;");
9595
cause = (jthrowable)env->CallObjectMethod(m_error, throwable_getCause);
96+
assert(!env->ExceptionCheck());
9697
}
9798

9899
v8::Handle<v8::Value> err = javaExceptionToV8(m_java, env, cause, m_errorString);

src/utils.cpp

Lines changed: 37 additions & 4 deletions

0 commit comments

Comments
 (0)