Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Браузер не сообщает об ошибке (https://javascript.ru/forum/misc/25493-brauzer-ne-soobshhaet-ob-oshibke.html)

khusamov 07.02.2012 12:09

Браузер не сообщает об ошибке
 
Здравствуйте!

У меня почему-то не выскакивает сообщение об ошибке.

В коде:
getWallTexture: function(name) {
	$.each(self.option("walltextures"), function(i, texture) {
		if (texture.name == name) result = texture;
	});
	return result;
}

Перед 2-й строкой не хватает строки:
var self = this;

И по идее должна быть ошибка:
Вызов функции option у неопреденного объекта self

Но ошибка не выскакивает.

Подскажите, кто знает, почему браузер не сообщает об ошибке?

В консоли пусто. На этом месте выполнение программы завершается, но сообщений никаких не выдается.

Octane 07.02.2012 12:14

https://developer.mozilla.org/en/DOM/window.self

khusamov 07.02.2012 13:00

Вот оказывается где собака зарыта! Спасибо)

Осталось выяснить почему на этом self завершается выполнение программы.

khusamov 07.02.2012 14:05

С переменной self было понятно. А вот что происходит с моей тогда переменной?
Теперь проблема на строке, где первый раз встречается tabname, которая не была определена до этого момента.
Но она уж точно моя собственная)


updateControl_WardrobeBodyParams_MaterialBody: function(data) {
	. . .
	self.ribbon.addGroup(tabname, "WardrobeBody_MaterialBody", "Материал корпуса");
	self.ribbon.addControl(tabname, "WardrobeBody_MaterialBody", params);
},


Опять, на 3 строке выполнение кода останавливается и никаких сообщений об ошибке.

khusamov 07.02.2012 14:06

Я поставил строку
console.log(tabname);

перед 3-й строкой. И тоже ничего не выводится. Ни ошибки, ни undefined, и завершается выполнение кода.

Octane 07.02.2012 14:09

А в чем вы ошибки смотрите? Вообще там должно появится "ReferenceError: tabname is not defined"

khusamov 07.02.2012 14:17

Я смотрю в браузерах Chrome и в Opera (в их консолях и встроенных средствах отладки).

Цитата:

Вообще там должно появится "ReferenceError: tabname is not defined"
Собственно у меня проблема в том, что такие ошибки перестали выводиться. А без них отлаживать код стало гораздо сложнее. Ощущение, что-то где-то глобальную ошибку допустил.

poorking 07.02.2012 14:21

Может у вас в "инструментах разработчка" не та вкладка открыта? Убедитесь что console или на настройки вывода в консоль посмотрите

и попробуйте

window.onerror = function () {
    alert(arguments);
}


Если не срабатывает, то, настройте правильно дебаггер или переустановите или вирусы проверьте, что может быть-то?

Octane 07.02.2012 14:22

Может в try-catch завернуто?

khusamov 07.02.2012 14:28

Вот кусочек кода с ошибкой.


var params = { dsp: {
	title: "ДСП", 
	images: {}
}};

$.each(data, function(id, item) {
	params.images[id] = {
		title: item.title, 
		src: item.url
	};
});


По идее на 7-й строке должна выскакивать ошибка, так как массива params.images не существует и обращение params.images[id] = ... недопустимо. То есть там, допущена ошибка, надо написать params.dsp.images[id] =

И вот броузер, на 7-й строке останавливается, а ошибку не выдает. А должен.

То есть, где-то далеко отсюда я что-то такое страшное написал. Но вот что?


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