[LayaAir3]LAYA3IDE中勾选了弹窗显示全局错误,有些错误无法弹弹窗提示

比如鼠标事件触发回调函数中有报错,Script脚本类onStart函数有报错等...
在这些函数执行中如果触发错误都只会在控制台打印错误,而不会弹出提示,因为底层代码中这些逻辑被try了catch中只打印了打印错误日志,这样会造成项目上线后用户如果触发相关的错误,研发没有办法及时搜集到错误信息。
11111.png
已邀请:

layaAir小孟

赞同来自:

您好,弹窗显示全局错误可以自定义处理,例如自定义一个全局错误。
(参考:https://layaair.com/3.2/doc/basics/IDE/projectSettings/readme.html?h=%E9%94%99%E8%AF%AF#143-%E5%BC%B9%E7%AA%97%E6%98%BE%E7%A4%BA%E5%85%A8%E5%B1%80%E9%94%99%E8%AF%AF )
 
或者,在LayaAir的引擎源码中,ComponentDriver.ts中有onError方法,可以修改此方法,然后编译引擎,并在LayaAir-IDE中使用编译后的引擎。

layaAir小孟

赞同来自:

您的需求是报错的时候,希望能够弹窗显示错误,而不仅仅是控制台打印吗
 
我按具体例子解释一下(如果不是这样理解,我再去问问同事),勾选IDE“项目设置”中的“弹窗显示全局错误”以后,
方法一:自定义一个全局错误。

1.png

可以在需要用到弹窗显示报错的时候,调用这个自定义的全局错误,就可以弹窗显示了:

0.png

 
方法二:更改引擎源码,然后重新编译。
在IDE使用编译后的引擎,此时测试,在onstart中抛出一个错误,或者鼠标点击时抛出错误。

2.png

得到的效果都有弹窗:

3.png

 
 

要回复问题请先

商务合作
商务合作