客户端如何取到js代码发生的 UncaughtException ?用于上报服务器分析

需求:客户端偶尔发生jserror但是客户在使用又不方便获取到log,希望能够自己加入代码获取到UncaughtException,然后上报到自己的服务器分析。
比如传统web页面可以通过重载页面的:windows.error()来拦截这个错误。
但是查了下cocos/creator的api均没有类似的功能,StackOverflow上也有类似的需求,但是都没有下文,想问问creator的大牛们,有没有办法实现,改js层面或者native层面的代码都行。

最优:js层面直接加入某个hook可以直接拿到UncaughtException
次优:native层面重载某个函数或者加入某个hook能够拿到UncaughtException
实在没法了:native起个线程不停的抓log(比如android通过logcat抓取然后过滤)

Bugly了解一下?

web版本 window.onerror
native版本 window.__errorHandler

c++, java 和 objc 的错误需要另外的捕获