У меня есть собственный класс исключений, который я использую для конкретной ситуации. Его можно бросить откуда угодно, поэтому попытка / отлов не очень полезна.
throw new CustomException;
Я хочу отловить эту ошибку в window.onerror и отфильтровать ее, что прекрасно работает в большинстве браузеров, которые я тестировал до сих пор.
var window_onerror = window.onerror || function() {return false;};
window.onerror = function(message, url, line) {
if (message.match(CustomException.prototype.name)) {
return true;
} else {
return window_onerror(message, url, line);
}
};
Однако в IE функция window.onerror получает Exception thrown and not caught
вместо моего пользовательского исключения.