From 59c1adbfdb07db0a690b7257e7e682d3272467bf Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Wed, 14 Aug 2024 05:33:41 -0700 Subject: [PATCH] Rethrow original exception in DefaultReactHostDelegate (#46016) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46016 Wrapping the JavaScriptException with a RuntimException means we lose JS specific metadata on the top-level exceptions, and can break categorization in crash-reporting tools. We could also use the same logic as [DefaultJSExceptionHandler](https://github.com/facebook/react-native/blob/main/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/bridge/DefaultJSExceptionHandler.java) but that doesn't seem to be required for Kotlin. Changelog: [Internal] Reviewed By: cortinico Differential Revision: D61261515 fbshipit-source-id: fa85c8818834905759cbc984ea3c45403eb87e8c --- .../com/facebook/react/defaults/DefaultReactHostDelegate.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt index cbf6a3be5e2..f2916d8c4bc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt @@ -45,9 +45,7 @@ public class DefaultReactHostDelegate( override val jsRuntimeFactory: JSRuntimeFactory = HermesInstance(), override val bindingsInstaller: BindingsInstaller? = null, private val reactNativeConfig: ReactNativeConfig = ReactNativeConfig.DEFAULT_CONFIG, - private val exceptionHandler: (Exception) -> Unit = { - throw RuntimeException("Unrecoverable React Native error", it) - }, + private val exceptionHandler: (Exception) -> Unit = { throw it }, override val turboModuleManagerDelegateBuilder: ReactPackageTurboModuleManagerDelegate.Builder ) : ReactHostDelegate {