оператор try-catch прерывание try-block, как только выдается исключение - PullRequest
0 голосов
/ 26 сентября 2018

Исследование:

Согласно веб-документам MDN :

Оператор try ... catch отмечает блок операторовчтобы попытаться, и указывает ответ, в случае возникновения исключения.

Если я правильно понимаю, весь блок try будет выполнен.Этот SO пост подтвердил себя.

Мой вопрос:

Можно ли прервать блок попытки, как только будет сгенерировано исключение?попасть в ловушку?

Да: Как бы это поведение было достигнуто?
Нет: Существуют ли другие способы достижения этого поведения?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

SO сообщение, на которое вы ссылались, касается Java, а не Javascript.Поэтому ответы там могут быть неприменимы.

Насколько я знаю, блок catch будет срабатывать в тот момент, когда выдается ошибка.И вы можете выдать ошибку в любое время:

try {
  console.log( 'before error: this should log' );
  throw new Error( 'Trigger catch!' );
  console.log( 'after error: this should not log' );
}
catch( error ) {
  console.log( `catch block got the error: ${ error.message }` );
}
0 голосов
/ 26 сентября 2018

try {
  console.log('omg');
  throw new Error('omg');
  console.log('ahhhhhh!!!!!');
} catch {
  console.log('caught');
}

Я думаю, JS делает то, что вы хотите.Связанный SO предназначен для Java.

...