From b4932082c7a4db2ae701fe219a64256449c67078 Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Fri, 21 Apr 2017 05:22:33 -0700 Subject: [PATCH] List nested exception in Redbox Reviewed By: AaaChiuuu Differential Revision: D4928968 fbshipit-source-id: 3af8f4ad0f76f035d2167fbf4b4381b6503f6bd2 --- .../react/devsupport/DevSupportManagerImpl.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java index 6d8e32448..028f52411 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerImpl.java @@ -235,16 +235,21 @@ public class DevSupportManagerImpl implements @Override public void handleException(Exception e) { if (mIsDevSupportEnabled) { + String message = e.getMessage(); + Throwable cause = e.getCause(); + while (cause != null) { + message += "\n\n" + cause.getMessage(); + cause = cause.getCause(); + } + if (e instanceof JSException) { FLog.e(ReactConstants.TAG, "Exception in native call from JS", e); + message += "\n\n" + ((JSException) e).getStack(); + // TODO #11638796: convert the stack into something useful - showNewError( - e.getMessage() + "\n\n" + ((JSException) e).getStack(), - new StackFrame[] {}, - JSEXCEPTION_ERROR_COOKIE, - ErrorType.JS); + showNewError(message, new StackFrame[] {}, JSEXCEPTION_ERROR_COOKIE, ErrorType.JS); } else { - showNewJavaError(e.getMessage(), e); + showNewJavaError(message, e); } } else { mDefaultNativeModuleCallExceptionHandler.handleException(e);