Я пытаюсь протестировать в browsermob если определенная работа поля ввода или нет. Я пытаюсь использовать попытку... ловят оператор, который я никогда не использовал прежде. Я знаю, что форма:
try {
//some code
} catch (){
//some error code
};
Что точно, как предполагается, помещается в круглую скобку после оператора выгоды? Когда я пытаюсь использовать оператор, он выполняет все через оператор выгоды, неважно, если это не ошибка. Что я делаю неправильно?
См. Руководство « 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
).
содержимое внутри try {...} - это то, что вы хотите выполнить. Материал в catch () {...} - это то, что вы хотите выполнить, если вы получаете какие-либо ошибки javascript из-за чего-либо, выполняемого в try {...}
catch {...} выполняется только при наличии javascript ошибка в блоке try {...}. Вы можете узнать, в чем заключается ошибка, например так:
try {
// do something
} catch (err) {
alert(err);
}
Оператор 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);
}
код, который может вызвать исключение, входит в try {}
. Код, запускаемый при возникновении исключения, входит в catch () {}
. В catch () вы можете указать, какие исключения вы хотите перехватывать и в какие автоматические переменные их помещать.
finally {}
всегда выполняется, независимо от того, было сгенерировано исключение или нет.