🔥

TypeScriptでfirebaseのエラーに型をつけるとき

2023/10/17に公開

firebase が返してくるerror.codeを使って何かをしたいとき。

import { FirebaseError } from "firebase/app";

/* 中略 */

try {
  await getDownloadURL(ref(storage, gcsPath));
} catch (error: unknown) {
  if (error instanceof FirebaseError) {
    if (error.code === "storage/object-not-found") {
      // do something
    }
  }
}

ちなみにError型だとcodeが存在しない

if (error instanceof Error) {
  // Errorだと error.code が存在しない
}

エラーコード一覧はこちら(storage の場合)
https://firebase.google.com/docs/storage/web/handle-errors?hl=ja

Discussion