引发异常后,try-catch语句立即中断try-block

时间:2018-09-26 13:31:30

标签: javascript exception-handling try-catch

研究:

根据MDN web docs

  

try ... catch语句标记了要尝试的语句块,并且   指定响应,如果抛出异常。

如果我理解正确,将执行整个try块。这篇SO帖子确认了我自己。

我的问题:

一旦引发异常进入catch块,是否有可能中断try块?

是:如何实现这种行为?
否:还有其他方法可以实现这种行为吗?

2 个答案:

答案 0 :(得分:0)

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

我认为JS可以满足您的需求。链接的SO用于Java。

答案 1 :(得分:0)

您链接的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 }` );
}