JS API not capturing all errors

A long time ago, I built my own JS error logger. Extremely simple, setting a
window.onerror = function(msg,url,line) {...}

Two days ago I started using Sentry, but keeping my old logger in place.

The good news is, Sentry is catching a lot more errors than my homebrew solution is.

However, there are still several errors that my own solution is catching, but that don’t show up in Sentry. For example, I’ve caught 3 errors in those two days related to jQuery (“Uncaught ReferenceError: $ is not defined”, “Uncaught TypeError: $ is not a function”, “ReferenceError: Can’t find variable: $”) and none of these show up in Sentry. In another example there was a run of errors related to BetterJsPop, these are errors in a visitors browser plugin, not on my site, but they are triggering the error reporting in my site. Of the 4 errors that came up, one was reported by both my own logger and Sentry, one was only reported by Sentry, and two were only reported by my own logger.

Overall, there have been 5 errors reported by both Sentry and my own logger, 69 that have been reported only by Sentry, and 9 that have been reported only by my own logger.

How is my own logger catching errors that Sentry is missing?