Home>Article>Web Front-end> How to catch errors in react native

How to catch errors in react native

藏色散人
藏色散人 Original
2023-01-04 10:46:16 1951browse

How to capture errors in react native: 1. Open the corresponding react file; 2. Use the "require('ErrorUtils').setGlobalHandler(function(err) {...})" method to capture errors, And give users reasonable tips.

How to catch errors in react native

The operating environment of this tutorial: Windows 10 system, react18.0.0 version, Dell G3 computer.

How to catch errors in react native?

React Native Error Capture and Processing

Developers who often use release packages for testing may find that in the release version, if a script appears Error, it will still crash directly. We may want to capture this kind of error, give users reasonable prompts, and collect error details to help improve subsequent versions. At this time, you can use the following code:

require('ErrorUtils').setGlobalHandler(function(err) { // 做你自己的任何处理 });

The experimental code is as follows:

require('react-native') require('ErrorUtils').setGlobalHandler(function (err) { console.log('Just ignore'); }); setTimeout(()=>{ throw new Error(‘Ouch'); }, 10000); require('./src/app'); // 正常启动app

10 seconds after the release version starts the application, you can see the output of Just ignore through adb logcat or XCode, and it is not triggered. A crash indicates successful interception.

Note

Although global errors can be intercepted, if the error comes from the render() function or the component's life cycle, your application may not be able to recover from the error state and continue to run. If you Attempt to continue running, more errors may occur. Therefore, it is recommended that this method is only used for error collection and reasonable prompts, rather than as a general error handling method.

Recommended learning: "react video tutorial"

The above is the detailed content of How to catch errors in react native. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn