Hacker News new | ask | show | jobs
by william_hc 4640 days ago
I didn't say this was impossible, just probably a bad idea. If your application is simple enough for this to work though, go for it.
2 comments

But there's no need to wrap every function, just the ones that can be top-level entry points. It's a very small list, if your application is well-designed.

Patch setTimeout and setInterval. Register a jQuery ajax prefilter that wraps all your ajax callbacks. Patch jQuery's low-level UI event binding function.

And you're done. I've done this in a rather large application. It works fine.

Fair enough. I guess that's the pure js/jquery version of hooking into Angular/Ember's onerror. Makes sense. At least we won't need to do this for much longer though.
Wow, that is actually... surprisingly simple, almost even elegant.

It's times like these when you realize just how flexible JavaScript development can be.

I didn't say you did. I don't think the size of the app is a factor, either.

This came from a fairly large library which runs on all manner of third-party sites, many billions of times each month. In that situation trapping and logging all exceptions is very important, and this method has worked reliably for years.