diff --git a/android/src/main/java/io/sentry/RNSentryModule.java b/android/src/main/java/io/sentry/RNSentryModule.java index 1565198df1..a5c62fb13c 100644 --- a/android/src/main/java/io/sentry/RNSentryModule.java +++ b/android/src/main/java/io/sentry/RNSentryModule.java @@ -265,14 +265,16 @@ public void captureEvent(ReadableMap event) { if (event.hasKey("exception")) { ReadableNativeArray exceptionValues = (ReadableNativeArray)event.getMap("exception").getArray("values"); ReadableNativeMap exception = exceptionValues.getMap(0); - ReadableNativeMap stacktrace = exception.getMap("stacktrace"); - ReadableNativeArray frames = (ReadableNativeArray)stacktrace.getArray("frames"); - if (exception.hasKey("value")) { - addExceptionInterface(eventBuilder, exception.getString("type"), exception.getString("value"), frames); - } else { - // We use type/type here since this indicates an Unhandled Promise Rejection - // https://github.com/getsentry/react-native-sentry/issues/353 - addExceptionInterface(eventBuilder, exception.getString("type"), exception.getString("type"), frames); + if (exception.hasKey("stacktrace")) { + ReadableNativeMap stacktrace = exception.getMap("stacktrace"); + ReadableNativeArray frames = (ReadableNativeArray)stacktrace.getArray("frames"); + if (exception.hasKey("value")) { + addExceptionInterface(eventBuilder, exception.getString("type"), exception.getString("value"), frames); + } else { + // We use type/type here since this indicates an Unhandled Promise Rejection + // https://github.com/getsentry/react-native-sentry/issues/353 + addExceptionInterface(eventBuilder, exception.getString("type"), exception.getString("type"), frames); + } } }