react-native-exception-handler
react-native-exception-handler copied to clipboard
Doesn't work inside promises?
It does not seem to catch any errors inside promises for me.
I'm navigating to a different view using react-navigation inside a promise, and no errors are caught after this (or inside the promise itself).
fetchUser().then(() => { this.causeAnError() })
I'm also having a similar problem problem. Regular errors are being caught correctly, but a TypeError in a render caused by a promise isn't caught and the red screen shows on both debug and release builds
Hmm. That's interesting @Kebabpizza . I ll take a look at that . But @andrew-wagner89 Red screen should never come in the release builds. .as they are entirely switched off during the build process.
Hi @Kebabpizza @andrew-wagner89 Can you guys help with a screenshot or a larger snippet? .. I am only getting a warning yellow screen after trying to replicate. And yellow screens dont cause a app crash.
Hi @master-atul, apologies for the late response.
After navigating to another screen with react-navigation, this produces a crash (red screen) instead of a yellow warning. And if you navigate within a promise react-native-exception-handler does not catch this.
Here is a sample: https://gist.github.com/Kebabpizza/925531ed9bab37ba6abf48f5de9c812a
using [email protected] [email protected] [email protected] [email protected]
I was hitting this "bug" repeated times after upgrading RN > 0.50 Today I found out that this is due to the new error boundary handling in React 16. You can use componentDidCatch
in a root component of your app to handle these scenarios.
You can read more about it here: https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html
im experiencing this too, which made me think it isnt working at all
It behaves bit peculiar for me. I tried the example given in the documentation of this plugin (like this.test() ). I kept this code ( this.test() ) in one of the component life cycle methods, it didn't catch the error !! Same code( this.test() ) I wrote in one of the button handlers in my component it did catch the error !!
I am not sure why this behavior ??
I was hitting this "bug" repeated times after upgrading RN > 0.50 Today I found out that this is due to the new error boundary handling in React 16. You can use
componentDidCatch
in a root component of your app to handle these scenarios.You can read more about it here: https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html
That's great! So we don't need this plugin any more right ?
What we have to do in functional component (there is not componentDidCatch)?