Javascript 从React Native-Expo-CRNA中的错误对象获取堆栈数据

Javascript 从React Native-Expo-CRNA中的错误对象获取堆栈数据,javascript,react-native,error-handling,expo,create-react-native-app,Javascript,React Native,Error Handling,Expo,Create React Native App,我希望能够从React Native中的错误对象获取堆栈数据(文件名和行号)。 如果我运行这样的程序: const err = new Error('Message'); console.log(err); 我在控制台中得到一些有用的输出,如下所示: Message * App.js:21:16 in componentDidMount - node_modules\react-proxy\modules\createPrototypeProxy.js:61:45 in proxiedComp

我希望能够从React Native中的错误对象获取堆栈数据(文件名和行号)。
如果我运行这样的程序:

const err = new Error('Message');
console.log(err);
我在控制台中得到一些有用的输出,如下所示:

Message
* App.js:21:16 in componentDidMount
- node_modules\react-proxy\modules\createPrototypeProxy.js:61:45 in proxiedComponentDidMount
- node_modules\react-native\Libraries\Renderer\ReactNativeRenderer-dev.js:10627:12 in commitLifeCycles
- ... 23 more stack frames from framework internals
我希望能够将堆栈数据发送到其他地方进行日志记录和修复,但我不知道如何访问显示文件名和生成错误的行的数据。
我怎样才能得到这些信息?
根据文档,如果我尝试:

console.log(err.fileName)
或:

我刚刚得到:

undefined
经以下方面确认:

console.log(Object.keys(err));
导致:

Array []
尽管,神秘地:

console.log(err.message);
仍然返回:

Message
相关-如果我输入:

console.log(err.toString())
console.log('Comment', err);
我得到:

Error: Message
同样,如果我输入:

console.log(err.toString())
console.log('Comment', err);
我得到的结果是:

Comment [Error: Message]
因此,虽然我可以看到堆栈数据在那里,但我似乎无法访问它或将其传递到其他地方。

请检查。 您需要注册自己的错误处理程序回调。 您可以使用ErrorBoundary,或者以其他多种方式捕获错误,其中一些将捕获所有JS错误,而另一些则不会