Рубрики
Без рубрики

Что происходит, когда вы пишете, попробуйте/наконец

Без обмана, что такое выход?. Tagged with JavaScript, ES6.

Я подумал про себя сегодня, хм, что происходит, когда ты делаешь Попробуйте/наконец , и у меня нет ловить Пункт, так какой вывод здесь?

const errorThrower = () => {
  throw new Error("i am an error");
};

const errorInvoker = () => {
  try {
    errorThrower();
    console.log("errorInvoker");
  } finally {
    console.log("finally");
  }
};

const catcher = () => {
  try {
    errorInvoker();
    console.log("catcher");
  } catch (error) {
    console.log("catcher caught the error");
  }
};

catcher();

Я думал, что результат будет:

finally
catcher

Но на самом деле вывод:

finally
catcher caught the error

В ERROUSINVOKER , Try Block выполняет, и Ошибка бросает ошибку, а затем сразу после того, как ошибка выброшена, наконец -то выполняется, затем ловец ловит ошибку, которая Ошибка бросить и журналы ловец поймал ошибку .

Оригинал: “https://dev.to/mcrowder65/what-happens-when-you-only-write-try-finally-3cph”