如何收集微信小程序的脚本错误上传?

目前知道收集js脚本错误方式有:
h5上通过window.onerror;
native通过window.__errorHandler。
但是目前在微信小程序上没有找到方案,知道大家是通过什么方式如何收集js报错信息上传的

wx.onError(function (res) {
let log = res.message + “/n” + res.stack;
MyApp.submitErrorLog(log);
});

我试了这中方式,在game.js里面注册了,
wx.onError(function(){ console.log('onError---'); })
在项目的一个脚本文件故意写错,调用一个没有定义的函数。打包微信后,在微信开发者工具里面跑,不会触发调用wx.onError的,是我写法有问题吗

微信后台自带了报错记录

额,意思就是我工程代码中js调用出错(可能手写或者网络消息导致结构体不正确的),在微信后台是可以看到这些js报错堆栈信息的吗

微信后台只有message没有stack,还是得自己上报

如果这样的话,那就回到了最初的问题了。如何在微信小游戏中获取到js报错堆栈信息。兄弟,你知道如何获取吗:sweat:

我都是根据微信后台修的报错

结合微信开发者工具的真机调试,取得game.js,然后对应错误栈就很容易定位错误了(快捷键ctrl p/ command p,根据行和列跳转)

好吧,刚看了一下后台现在是有错误栈的,之前没有

那…微信小程序这是不需要js报错删除了?
还有就是你上面说的“结合微信开发者工具的真机调试,取得game.js”;能具体说下取得game.js是怎么个操作,不是很清楚:joy:,能具体说下思路吗

在工程的js代码中没有做错误处理吗

微信小游戏真实环境下代码都会放在game.js文件中,点击“真机调试”,用安卓手机扫描进去调试,你会看到目录下有一个game.js文件,报错的信息都是根据这个文件来的。

手机目前跑不了真机调试,不知道game.js里面的具体内容。不过你说的game.js内容应该是没问题的。这样的话,报错内容应该也是game.js里的,这能理解。我想知道假如在真机调试的时候,错误出现在自己的工程的js文件中,这时候的错误需不需要去通过某种方式去收集它(上传到自己制定的服务器),还是微信自带了js错误收集并上传到微信后台,。

看了一下,目前微信后台的功能挺完善的,基本够用了。除非你有什么其他特殊要求可以再传到自己的服务器。我们是因为之前微信后台不支持错误栈,所以才上报到自己的服务器。

目前的需求是把游戏代码中js文件的报错堆栈上报到服务器。这个在h5和native都是能监听到js报错的,但是在微信小游戏目前不知道通过那种方式监听到js报错