equal
deleted
inserted
replaced
856 static inline void throw_new(JNIEnv *env, const char *ename) { |
856 static inline void throw_new(JNIEnv *env, const char *ename) { |
857 char buf[100]; |
857 char buf[100]; |
858 strcpy(buf, "java/lang/"); |
858 strcpy(buf, "java/lang/"); |
859 strcat(buf, ename); |
859 strcat(buf, ename); |
860 jclass cls = env->FindClass(buf); |
860 jclass cls = env->FindClass(buf); |
|
861 if (env->ExceptionCheck()) { |
|
862 env->ExceptionClear(); |
|
863 tty->print_cr("Unsafe: cannot throw %s because FindClass has failed", buf); |
|
864 return; |
|
865 } |
861 char* msg = NULL; |
866 char* msg = NULL; |
862 env->ThrowNew(cls, msg); |
867 env->ThrowNew(cls, msg); |
863 } |
868 } |
864 |
869 |
865 static jclass Unsafe_DefineClass_impl(JNIEnv *env, jstring name, jbyteArray data, int offset, int length, jobject loader, jobject pd) { |
870 static jclass Unsafe_DefineClass_impl(JNIEnv *env, jstring name, jbyteArray data, int offset, int length, jobject loader, jobject pd) { |