Chrome остановился на исключение в блоке try / catch, как автоматически возобновить? - PullRequest
9 голосов
/ 19 марта 2012

Я использую PrimeFaces (3.2), но я думаю, что вопрос связан с Chrome.

Все в порядке, если я не открыл окно отладки Chrome. То есть, если я закрою окно отладки, ошибки не возникает, исключений нет вообще (см. Ниже, исключение - try / catch-ed).

Однако, если я открыл окно отладки Chrome и что-то сделал с веб-страницей, то отладчик остановился в следующем месте:

if ( !Sizzle.isXML( node ) ) {
    try { 
        if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
            var ret = matches.call( node, expr ); <----- Paused here.

            // IE 9's matchesSelector returns false on disconnected nodes
            if ( ret || !disconnectedMatch ||
                    // As well, disconnected nodes are said to be in a document
                    // fragment in IE 9, so check for that
                    node.document && node.document.nodeType !== 11 ) {
                return ret;
            }
        }
    } catch(e) {}
}

Здесь узел = <div ... и expr = :hidden. После изучения исходного кода jQuery кажется, что Chrome не поддерживает node.querySelectorAll(':hidden'),.

Почему Chrome остановится здесь, в блоке try / catch? И как заставить его больше не останавливаться?

Chrome версия: 17

1 Ответ

26 голосов
/ 20 марта 2012

Неосознанно ли вы включили опцию «приостановить исключения» на вкладке «Сценарии» консоли разработчика? Это четвертый значок слева на этом скриншоте:

screenshot

Если значок подсвечен синим, это означает, что он включен, и любые исключения приведут к приостановке работы сценария, как если бы вы установили точку останова, чтобы вы могли отладить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...