diff --git a/JNIHelp.c b/JNIHelp.c
index fba7f8d..cb008a6 100644
--- a/JNIHelp.c
+++ b/JNIHelp.c
@@ -100,14 +100,16 @@
     (*env)->DeleteLocalRef(env, className);
     className = NULL;
 
+    bool success = false;
     jmethodID getMessage =
         FindMethod(env, "java/lang/Throwable", "getMessage", "()Ljava/lang/String;");
     jstring message = (jstring) (*env)->CallObjectMethod(env, thrown, getMessage);
-    if (message == NULL) {
-        return true;
+    if (message != NULL) {
+        success = (ExpandableStringAppend(dst, ": ") && AppendJString(env, message, dst));
+    } else if ((*env)->ExceptionOccurred(env) == NULL) {
+        success = true;
     }
 
-    bool success = (ExpandableStringAppend(dst, ": ") && AppendJString(env, message, dst));
     if (!success) {
         // Two potential reasons for reaching here:
         //
@@ -169,7 +171,7 @@
         FindMethod(env, "java/lang/Throwable", "printStackTrace", "(Ljava/io/PrintWriter;)V");
     (*env)->CallVoidMethod(env, thrown, printStackTrace, pw);
 
-    jstring trace = StringWriterToString(env, sw);
+    jstring trace = ((*env)->ExceptionOccurred(env) != NULL) ? NULL : StringWriterToString(env, sw);
 
     (*env)->DeleteLocalRef(env, pw);
     pw = NULL;
