Браузер не сообщает об ошибке 
		
		
		
		Здравствуйте! 
	У меня почему-то не выскакивает сообщение об ошибке. В коде: 
getWallTexture: function(name) {
	$.each(self.option("walltextures"), function(i, texture) {
		if (texture.name == name) result = texture;
	});
	return result;
}
Перед 2-й строкой не хватает строки: var self = this; И по идее должна быть ошибка: Вызов функции option у неопреденного объекта self Но ошибка не выскакивает. Подскажите, кто знает, почему браузер не сообщает об ошибке? В консоли пусто. На этом месте выполнение программы завершается, но сообщений никаких не выдается.  | 
	
		
  | 
	
		
 Вот оказывается где собака зарыта! Спасибо) 
	Осталось выяснить почему на этом self завершается выполнение программы.  | 
	
		
 С переменной self было понятно. А вот что происходит с моей тогда переменной? 
	Теперь проблема на строке, где первый раз встречается tabname, которая не была определена до этого момента. Но она уж точно моя собственная) 
updateControl_WardrobeBodyParams_MaterialBody: function(data) {
	. . .
	self.ribbon.addGroup(tabname, "WardrobeBody_MaterialBody", "Материал корпуса");
	self.ribbon.addControl(tabname, "WardrobeBody_MaterialBody", params);
},
Опять, на 3 строке выполнение кода останавливается и никаких сообщений об ошибке.  | 
	
		
 Я поставил строку 
	console.log(tabname); перед 3-й строкой. И тоже ничего не выводится. Ни ошибки, ни undefined, и завершается выполнение кода.  | 
	
		
 А в чем вы ошибки смотрите? Вообще там должно появится "ReferenceError: tabname is not defined" 
	 | 
	
		
 Я смотрю в браузерах Chrome и в Opera (в их консолях и встроенных средствах отладки). 
	Цитата: 
	
  | 
	
		
 Может у вас в "инструментах разработчка" не та вкладка открыта? Убедитесь что console или на настройки вывода в консоль посмотрите 
	и попробуйте 
window.onerror = function () {
    alert(arguments);
}
Если не срабатывает, то, настройте правильно дебаггер или переустановите или вирусы проверьте, что может быть-то?  | 
	
		
 Может в try-catch завернуто? 
	 | 
	
		
 Вот кусочек кода с ошибкой. 
	
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-й строке останавливается, а ошибку не выдает. А должен. То есть, где-то далеко отсюда я что-то такое страшное написал. Но вот что?  | 
	
		
 Цитата: 
	
 Цитата: 
	
 
console.log("undefined");
console.log(tralala);
Первая строка отработала. В консоли появилось сообщение. А вторая молчит и на ней завершается выполнение.  | 
	
		
 Ну попробуйте сами в консоли бросьте исключение, что будет? попробуйте код заверните в try, будет ли catch 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Да, буду пробовать в общем. Спасибо! 
	Чуть позже отпишусь, если появятся новые детали этого дела или все-таки найду источник проблемы.  | 
	
		
 у меня регистрируется функция window.MyFlashOnReady(), которую вызывает некая флешка, когда она готова к работе. И вот именно после вызова этой функции начинается такая бодяга, которую я выше описал. 
	То есть если я убираю эту функцию, то все работает как обычно. Может флешка как-то влиять на работу JavaScript?  | 
	
		
 Ну тогда странно, а попробуйте другой браузер-другой дебаггер, FF+FB например во всех броузерах аналогичная ситуация.  | 
	
		
 Цитата: 
	
 
try {
			console.log("undefined1");
			console.log(tralala);
			console.log("undefined2");
		} catch(e) {
			alert(e.message);
		}
Алерт-окошко выскакивает. Сообщает что траляля не определен. То есть это сработало. Но в консоли высвечивается только undefined1. Текст undefined2 уже не высвечивается. И текст об ошибке тоже не высвечивается. Теперь убираю и оставляю это: 
console.log("undefined1");
		console.log(tralala);
		console.log("undefined2");
Высвечивается только undefined1. И что это может быть такое?  | 
	
		
 Ну так наверно проблема во флэшке, в чем же еще, раз после нее такое 
	 | 
	
		
 кстати, а не может это быть багом ExternalInterface? 
	 | 
	
		
 В общем выяснил. После первого вызова JS-функции изнутри флешки при помощи ExternalInterface все ошибки маскируются и в консоли не показываются. Печально.  
	Можно отлавливать их отдельно через try конечно. Но вывод уже будет не через консоль, ибо все методы вывода в консоль заблокированы. То есть выводить придется либо алертом либо где-то на странице в специальном месте.  | 
	
		
 Нашел не очень хорошее решение, так как оно не учитывает причину проблемы.  
	Продолжение темы тут (так как исходная тема с ней не совсем совпадает): http://javascript.ru/forum/showthrea...175#post156175  | 
| Часовой пояс GMT +3, время: 03:13. |