-
Notifications
You must be signed in to change notification settings - Fork 704
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何处理js未主动捕获的异常 #58
Comments
“将js方法注册为button的点击事件”,这个会变成c#异常啊。不会看不到报错。 |
很多业务开发不会去主动写catch的, 例如有个async func(){ throw new Error(); } 业务上就调用了了 func(); 没有去await也没有去.catch(). 就算上层有try或.catch(), 也不会拿到这个异常的嘛, 这样这个异常就没地方可捕获. 浏览器可以通过全局的error事件捕获到这个异常, nodejs可以通过uncaughtException捕获到 |
将js方法注册为button的点击事件, 如果注册的是一个async方法, 那么是不会变为C#异常的, 看不到报错. 注册同步方法是没问题的. |
那归根到底还是异步方法的异常。 |
在浏览器和nodejs上, 都能拿到没有catch的异常呢. |
也对,我加下unhandledRejection的支持 |
支持unhandledRejection了,使用上可以先参考ut用例:https://github.com/Tencent/puerts/blob/master/unity/general/Src/UnitTest/UnitTest.cs#L951 |
fix: 限制代码只在 webgl 下生效,否则 ios 上会奔溃
目前发现可以主动捕获的异常有:
而其他情况发生的异常, 没有找到办法捕获, unity也看不到报错
例如:
在浏览器端, 可以监听全局的error事件, 获得这样的异常
在nodejs中, 可以process中的uncaughtException事件, 获得这样的异常
请问puerts如何捕获这种异常
The text was updated successfully, but these errors were encountered: