выходной документ. оценить - PullRequest
1 голос
/ 12 декабря 2010

Я использую Greasemonkey.Если xpathExpression не существует, весь скрипт будет остановлен.

document.evaluate(
    xpathExpression,
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);

Есть ли способ остановить это document.evaluate и продолжить запускать скрипт?

ошибка:
"Ошибка: выражение не является допустимым выражением."

Ответы [ 3 ]

2 голосов
/ 12 декабря 2010

try/catch действительно следует использовать в качестве крайней меры, если вы не можете предсказать, как может произойти ошибка.

рассмотрите это вместо:

if (typeof xpathExpression !== "undefined" && xpathExpression !== "") {
    document.evaluate(
        xpathExpression,
        document,
        null,
        XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
        null);
}
1 голос
/ 12 декабря 2010

Вы можете заключить его в блок try-catch:

try {
  document.evaluate(...);
} catch (ex) {
  // something went wrong
}
0 голосов
/ 12 декабря 2010

создайте экземпляр переменной xpathExpression, и тогда вы сможете использовать:

if (xpathExpression)
document.evaluate(...);

без необходимости блока try / catch

...