Error cause

エラーを追跡するための cause が使えるようになった。

Example

try {
  render();
} catch (e) {
  // (4) キャッチする
  // causeを使わない場合、一番上でラップしている "renderでエラー" しか取れない
  console.log("エラー", e.cause);
}

function render() {
  try {
    load();
  } catch(e) {
    // (3) 伝播する
    throw new Error("renderでエラー", { cause: e });
  }
}
function load() {
  try {
    fetch();
  } catch(e) {
    // (2) 伝播する
    throw new Error("loadでエラー", { cause: e });
  }
}
function fetch() {
  try {
    throw new Error("Invalid URL");
  } catch(e) {
    // (1) ここでエラーが発生する
    throw new Error("fetchでエラー", { cause: e });
  }
}

最終更新