Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   обработка исключений (https://javascript.ru/forum/misc/12116-obrabotka-isklyuchenijj.html)

jetli13 01.10.2010 10:11

обработка исключений
 
Возможно ли перехватывать все исключения генерируемые браузером.
Я имею ввиду например такой случай

<div onclick="obj.func();">text</div>

при этом obj не объявлен.

т.е. отловить все исключения внутри window?

Kolyaj 01.10.2010 10:22

window.onerror = function() {
    alert('error');
}

jetli13 01.10.2010 10:30

Спасибо!
Но как при этом предотвратить проброс исключения ?
Т.е. предотвратить вывод ошибки браузер.

Riim 01.10.2010 10:36

Цитата:

Сообщение от jetli13
предотвратить вывод ошибки браузер

window.onerror = function() {
    return false;
};

?

jetli13 01.10.2010 10:39

Riim,
window.onerror = function() {
	return false;
}

function Obj()
{
}
var obj  = new Obj();
obj.Yahoo();


не помогает

Kolyaj 01.10.2010 10:41

Там наоборот return true надо. Странная функция.

jetli13 01.10.2010 10:47

Kolyaj,
Помогает )
Функция просто для примера.

Задача вобщем то состоит в том, что бы логировать все исключения.
Прописывать везде try/catch не хочу. Хочу так чтоб глобально и в одном месте.
Осталось только выяснить как вытащить стек ф-ций вызвавший исключение

jetli13 01.10.2010 11:56

( а вот тут то и зарылась проблема.
внутри
window.onerror
я могу получить лишь arguments (что само по себе не плохо), но самой ошибки нет. Т.е. это реакция на ошибку, но не перехват исключения

Есть ли какой то способ именно прехватить исключение, так чтоб отследить стек?

Kolyaj 01.10.2010 12:23

jetli13,
покопайте скрипты отсюда http://www.exceptionhub.com/
В частности логирующий код http://js.exceptionhub.com/javascripts/eh.js

jetli13 01.10.2010 12:29

Kolyaj,
угук, спсб!


Часовой пояс GMT +3, время: 14:12.