Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 03.04.2014, 14:05
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

Сообщение от nerv_
ща америку для тебя открою:
вообще ни о чем не говорит.
ООП? какой к черту ООП - это javascript. Здесь нет никаких ООП, есть только закос под ООП
Ответить с цитированием
  #22 (permalink)  
Старый 03.04.2014, 14:06
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Hapson
ООП? какой к черту ООП - это javascript. Здесь нет никаких ООП, есть только закос под ООП
"php головного мозга" детектед

твою реализацию можно сломать одной строчкой
window.onerror = null;

Удачного дебага.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 03.04.2014 в 14:08.
Ответить с цитированием
  #23 (permalink)  
Старый 03.04.2014, 14:22
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

Сообщение от nerv_
window.onerror = null
есть другие способы?

Вопрос в другом - как сделать аналог trigger_error
Ответить с цитированием
  #24 (permalink)  
Старый 03.04.2014, 14:48
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Ни Chrome, ни IE не добавляют в new Error информацию о строке и файле, только в фаерфоксе норм:
window.addEventListener("error", function (event) {
	alert(event);
});

function triggerError(error) {
	var event;
	try {
		event = document.createEvent("ErrorEvent");
	}
	catch (reason) {
		event = document.createEvent("Event");
	}
	if (event.initErrorEvent) {
		event.initErrorEvent("error", false, false, error.message, error.fileName, error.lineNumber);
	}
	else {
		event.initEvent("error", false, false);
		event.message = error.message;
		event.filename = error.fileName;
		event.lineno = error.lineNumber;
	}
	event.stack = error.stack;
	window.dispatchEvent(event);
}

triggerError(new Error("test error"));
Проверял в Chrome 35, Aurora 30 и IE11

Сообщение от Hapson
какой к черту ООП - это javascript. Здесь нет никаких ООП, есть только закос под ООП
ты тут такие глупости больше не пиши
Ответить с цитированием
  #25 (permalink)  
Старый 03.04.2014, 14:52
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 822

Сообщение от Hapson
ООП? какой к черту ООП - это javascript. Здесь нет никаких ООП, есть только закос под ООП
вот это вот очень неверное суждение, которым иногда злоупотребляют php-шники

Даже если в js чего-то нет (например Классов), то никто не мешает вам это реализовать самому!

js - это полноценный объектно-ориентированный язык!
Ответить с цитированием
  #26 (permalink)  
Старый 03.04.2014, 15:01
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 822

Сообщение от Octane
Ни Chrome, ни IE не добавляют в new Error информацию о строке и файле, только в фаерфоксе норм:

кроссбраузерные только:
Error.prototype.message
Error.prototype.name

Зачем строка?
А если весь скрипт в одну строку будет?

Можно ставить переменные-метки в частях кода и передавать эти метки в случае ошибки
Ответить с цитированием
  #27 (permalink)  
Старый 03.04.2014, 15:05
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 09.07.2008
Сообщений: 3,873

Сообщение от dmitry111
Зачем строка?
А если весь скрипт в одну строку будет?
Мне не зачем, просто интересно было, как это реализовать
Ответить с цитированием
  #28 (permalink)  
Старый 03.04.2014, 15:24
Аватар для Hapson
Кандидат Javascript-наук
Отправить личное сообщение для Hapson Посмотреть профиль Найти все сообщения от Hapson
 
Регистрация: 23.07.2013
Сообщений: 122

dmitry111,
Вопрос не в том "зачем", а КАК.
Как сделать так, чтобы функция при вызове узнавала, в каком файле и на какой строке ее вызвали.
Ответить с цитированием
  #29 (permalink)  
Старый 03.04.2014, 15:55
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 822

Сообщение от Hapson
Как сделать так, чтобы функция при вызове узнавала, в каком файле и на какой строке ее вызвали.
скрипты для уменьшения их веса принято сжимать и минимизировать в один файл. Наверное поэтому определение файла и строки теряет актуальность в js.


Можно вместо строки передавать с ошибкой ее номер и основываться на нем.
Ответить с цитированием
  #30 (permalink)  
Старый 03.04.2014, 15:55
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

У кого php головного мозга тот должен понимать что номер строки скрипта и имя файла может быть взято из html в котором любой скрипт чуйствует себя как domа.

Это не считая таких форматов как инлайновые скрипты.

Файл скрипта и номер строки в этом файле в JS это _частный_ случай. Хочет браузер показать - покажет, не хочет - не покажет.

WScript даже номер символа демонстрирует. Ну и что?

Последний раз редактировалось kostyanet, 03.04.2014 в 15:58.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки при асинхронных AJAX запросах San4ezy Общие вопросы Javascript 4 27.03.2014 19:48
Что за ошибки в скриптах на сайте? razorg1991 Ваши сайты и скрипты 4 30.08.2013 12:37
Генерация поля из 8000 картинок на стороне клиента VS генерация картинки на сервере xintrea Events/DOM/Window 2 25.06.2013 19:10
Определить код ошибки. crot26rus jQuery 2 15.07.2011 14:32
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 13:17