Какие браузеры поддерживают Условия условного catch?
В MDN try...catch вы можете найти предложения условного catch как нестандартная функция.
try {
myroutine(); // may throw three exceptions
} catch (e if e instanceof TypeError) {
// statements to handle TypeError exceptions
} catch (e if e instanceof RangeError) {
// statements to handle RangeError exceptions
} catch (e if e instanceof EvalError) {
// statements to handle EvalError exceptions
} catch (e) {
// statements to handle any unspecified exceptions
logMyErrors(e); // pass exception object to error handler
}
Примечание. Эта функциональность не является частью спецификации ECMAScript.
Он поддерживается любыми современными браузерами?
Консоль Google Chrome вернула Uncaught SyntaxError: Unexpected token if
Или shoud я использую:
try {
myroutine(); // may throw three exceptions
} catch (e) {
if(e instanceof TypeError) {
// statements to handle TypeError exceptions
}
else if(e instanceof RangeError) {
// statements to handle RangeError exceptions
}
else if(e instanceof EvalError) {
// statements to handle EvalError exceptions
}
else {
// statements to handle any unspecified exceptions
logMyErrors(e); // pass exception object to error handler
}
}