Как попытка JavaScript … ловит работы оператора

Я пытаюсь протестировать в browsermob если определенная работа поля ввода или нет. Я пытаюсь использовать попытку... ловят оператор, который я никогда не использовал прежде. Я знаю, что форма:

try {
//some code
} catch (){
//some error code
};

Что точно, как предполагается, помещается в круглую скобку после оператора выгоды? Когда я пытаюсь использовать оператор, он выполняет все через оператор выгоды, неважно, если это не ошибка. Что я делаю неправильно?

6
задан chromedude 14 August 2010 в 17:55
поделиться

4 ответа

См. Руководство « try ... catch statement» в MDN .

Короче говоря, try / catch используется для обработки исключений (которые «выбрасываются» с помощью оператора throw ). Синтаксис команды try / catch:

try {
    // Code
} catch (varName) {              // Optional
    // If exception thrown in try block,
    // execute this block
} finally {                      // Optional
    // Execute this block after
    // try or after catch clause
    // (i.e. this is *always* called)
}

varName доступен только в области действия блока catch . Он относится к сгенерированному объекту исключения (который может быть объектом любого типа, например, String , но обычно это объект Error ).

10
ответ дан 8 December 2019 в 12:57
поделиться

содержимое внутри try {...} - это то, что вы хотите выполнить. Материал в catch () {...} - это то, что вы хотите выполнить, если вы получаете какие-либо ошибки javascript из-за чего-либо, выполняемого в try {...}

catch {...} выполняется только при наличии javascript ошибка в блоке try {...}. Вы можете узнать, в чем заключается ошибка, например так:

try {
 // do something 
} catch (err) {
  alert(err);
}
2
ответ дан 8 December 2019 в 12:57
поделиться

Оператор try catch используется для обнаружения исключений / ошибок, возникающих внутри блока try . Затем в блоке catch вы можете отреагировать на это исключительное поведение и попытаться разрешить его или перейти в безопасное состояние.

Вы почти правильно поняли утверждение:

try {
 // code that may fail with error/exception
} catch (e) { // e represents the exception/error object
 // react
}

Рассмотрим следующие примеры:

try {
  var x = parseInt("xxx");
  if(isNaN(x)){
    throw new Error("Not a number");
  }
} catch (e) { // e represents the exception/error object
 alert(e);
}

try {
 // some code
 if(!condition){
   throw new Error("Something went wrong!");
 }
} catch (e) { // e represents the exception/error object
 alert(e);
}
4
ответ дан 8 December 2019 в 12:57
поделиться

код, который может вызвать исключение, входит в try {} . Код, запускаемый при возникновении исключения, входит в catch () {} . В catch () вы можете указать, какие исключения вы хотите перехватывать и в какие автоматические переменные их помещать. finally {} всегда выполняется, независимо от того, было сгенерировано исключение или нет.

0
ответ дан 8 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: