window.onerror is unreliable at best. doesn't work in all browsers. doesn't capture stack information. won't give the desired result when using libraries like jquery. doesn't work particularly well with minimized code. in most (all?) versions of IE will just return "unknown error".
Using try/catch to resolve this also doesn't help unless you literally try/catch every function
There are plenty of services out there that tackle this problem properly. Shell out the money and use one.