catch块中是否捕获已捕获的JavaScript异常?

flo*_*olu 0 javascript error-handling try-catch

try {
    await function1()
    await function2()
    await function3().catch(err => { /*...*/ })
} catch (err) { /*...*/ }
Run Code Online (Sandbox Code Playgroud)

我的问题是,即使异常已被" catch捕获" ,块是否捕获了由此发出function3的异常.catch(err => ...)


如果catch块捕获异常function3,我的问题是如何防止这种行为?

我的目标基本上是捕获这些函数的特定异常,并将catch块用于每个未处理的异常.

Jpe*_*c07 5

一旦错误被"捕获",它就不会传播.如果你想让它进一步发展,你需要在发现错误之后抛出一些东西.就像是:

try {
  await function1();
  await function2();
  await function3().catch(err => {
    function3ErrorHandler(err);
    throw err;
  });
} catch (err) {
  generalErrorHandler(err);
}
Run Code Online (Sandbox Code Playgroud)