将ExceptionDescribe转换为字符串

时间:2011-05-16 09:20:40

标签: java c++ exception java-native-interface

我需要在JNI中将ExceptionDescribe()的输出作为字符串获取,这样我就可以在文件中将其写入,而不是直接在命令行上编写。有什么方法或想法怎么做?

先谢谢,

萨米

2 个答案:

答案 0 :(得分:5)

ExceptionOccurred是第一步,获取可以执行的消息和堆栈跟踪:

    jboolean isCopy = false;
    jmethodID toString = env->GetMethodID(env->FindClass("java/lang/Object"), "toString", "()Ljava/lang/String;");
    jstring s = (jstring)(*env)->CallObjectMethod(exc, toString);
    const char* utf = (*env)->GetStringUTFChars(s, &isCopy);

答案 1 :(得分:4)

您显然使用ExceptionOccured()方法。

jthrowable exc;
exc = (*env)->ExceptionOccurred(env);