Возможно, что проблема даже не в js, а в сервере. Если взять страницу такого вида:
<!DOCTYPE html>
<html>
<head>
<script src='./s1.js'></script>
<!-- s1.js:
window.onerror = function(message, filename, line, col, error) {
console.log('Oops: %s', error.stack);
return false;
};
-->
</head>
<body>
<script src='./s2.js'></script>
<!-- s2.js:
$(function() {
});
-->
</body>
</html>
И захостить ее вместе со скриптами на одном сервере, на одном домене, то все будет работать. Если домены у страницы и скриптов разные - onerror работать не будет (там что-то с безопасностью связано). Если страница открыта в браузере просто как файл, то по идее браузер может считать каждый скрипт, подключаемый к ней, как лежащий на другом домене, и тоже ничего работать не будет.