Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.11.2014, 12:51
Интересующийся
Отправить личное сообщение для scruwi Посмотреть профиль Найти все сообщения от scruwi
 
Регистрация: 24.11.2014
Сообщений: 13

CATCH не ловит exceptions в jQuery
Добрый день. Ранее, в голом JS пользовался try..throw..catch и в хвост, и в гриву. Начал разбираться с jQuery и не могу поймать исключение из функции:

jQuery(document).ready(function($, undefined) {
     try { 
          function_misc();
     }
     catch(err) { 
          ... 
     }
     function function_misc(){
          throw "error";
     }
});


понимаю, что throw вне зоны видимости catch, а как сделать правильно?

Последний раз редактировалось scruwi, 24.11.2014 в 13:18.
Ответить с цитированием
  #2 (permalink)  
Старый 24.11.2014, 13:08
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Скобки фигурный убери в третьей строчке.
Ответить с цитированием
  #3 (permalink)  
Старый 24.11.2014, 13:08
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от scruwi
function_misc(){}
зачем тут {} ? Вы же вызвать метод хотите, а такое впечатление что строите функцию.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 24.11.2014, 13:17
Интересующийся
Отправить личное сообщение для scruwi Посмотреть профиль Найти все сообщения от scruwi
 
Регистрация: 24.11.2014
Сообщений: 13

с фигурными скобками это у меня опечатка. конечно их там нет.
а по сути вопроса предложения есть? с ночи бьюсь, не могу понять.
ловить исключения отдельно в каждой функции нет никакого желания.
Ответить с цитированием
  #5 (permalink)  
Старый 24.11.2014, 13:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

а что не работает то?

у меня все работает:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
jQuery(document).ready(function($, undefined) {

  try {
    function_misc();
  } catch(err) {
    alert('Поймал исключение ' + err);
  }

  function function_misc(){
    throw "error";
  }

});
</script>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #6 (permalink)  
Старый 24.11.2014, 14:02
Интересующийся
Отправить личное сообщение для scruwi Посмотреть профиль Найти все сообщения от scruwi
 
Регистрация: 24.11.2014
Сообщений: 13

тогда прощенья просим, сам я свой упрощенный пример не додумался проверить.
значит я где-то напортачил, буду искать.

UPD: проблема, как всегда, в невнимательности. теперь я вижу, в чем проблема. было вот так:

jQuery(document).ready(function($, undefined) {
     try {
          $form.change(function(){ 
               function_misc();
          }
     }
     catch(err) {
          ...
     }
     function function_misc(){
          throw "error";
     }
});

Последний раз редактировалось scruwi, 24.11.2014 в 14:51.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический подсчет в таблице muraig jQuery 5 11.10.2014 16:54
хочу инвайт на хабр macdack Оффтопик 45 28.07.2013 23:18
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
2 разных модуля на jQuery - как подключить? finder jQuery 4 23.03.2012 22:29
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16