自分でエラーを投げる
実践JavaScript / 全 5 枚
実践JavaScript - 自分でエラーを投げる
おかしな値のまま先へ進ませない
作品一覧から目当ての 1 件を探して見つからなかったとき、undefined をそのまま返すと、困るのは受け取った側の少し先です。throw を書くと、その場で処理が止まって呼び出し元に伝わります。
ただし Error のままだと、受け取った側は「何かに失敗した」としか分かりません。失敗の種類を名前で表す方法を次の枚で見ます。
throw より下の return は実行されません。関数はそこで終わります。
function findWork(works, id) {
const work = works.find((w) => w.id === id);
if (!work) {
throw new Error("作品が見つかりません");
}
return work;
}
const works = [{ id: 1, title: "作品A" }];
findWork(works, 7); // ここで止まる1 / 5
← → キーでも送れます