OSDN Git Service

Fix error logging for null-message exceptions
authorTor Norbye <tnorbye@google.com>
Tue, 18 Jan 2011 04:48:08 +0000 (20:48 -0800)
committerTor Norbye <tnorbye@google.com>
Tue, 18 Jan 2011 04:48:08 +0000 (20:48 -0800)
Some exceptions (such as NullPointerException) can have null as their
getLocalizedMessage().  This meant that the render session could have
a result with a null message, but a non-null exception. This scenario
was not handled, for some error resulted in a failed result but no
details given.

Change-Id: I22c70cd09b3403e73e71ca971981b32026f00ad0

eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/GraphicalEditorPart.java

index 2a457e9..a857dc7 100644 (file)
@@ -1484,8 +1484,12 @@ public class GraphicalEditorPart extends EditorPart
         if (session.getResult().isSuccess() == false) {
             // An error was generated. Print it (and any other accumulated warnings)
             String errorMessage = session.getResult().getErrorMessage();
-            if (errorMessage != null && errorMessage.length() > 0) {
-                logger.error(null, session.getResult().getErrorMessage(), null /*data*/);
+            Throwable exception = session.getResult().getException();
+            if (exception != null && errorMessage == null) {
+                errorMessage = exception.toString();
+            }
+            if (exception != null || (errorMessage != null && errorMessage.length() > 0)) {
+                logger.error(null, errorMessage, exception, null /*data*/);
             } else if (!logger.hasProblems()) {
                 logger.error(null, "Unexpected error in rendering, no details given",
                         null /*data*/);