You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何抛出符合FirebaseError接口的错误?

如何实例化并抛出FirebaseError

我来帮你搞定这个FirebaseError的实例化问题!你已经正确导入了FirebaseError,它不是单纯的接口,而是一个可直接实例化的类,构造函数需要几个关键参数,具体用法如下:

基本实例化与抛出

直接使用new FirebaseError()创建实例,参数依次为错误代码、错误消息,还可以传一个可选的配置对象:

import { FirebaseError } from '@firebase/util';

// 示例:抛出一个认证类Firebase错误
throw new FirebaseError(
  'auth/invalid-email', 
  '你输入的邮箱格式不符合要求',
  { cause: new Error('正则匹配邮箱格式失败') } // 可选:传递底层错误原因
);

参数详解

  • 第一个参数(必填):要使用Firebase官方定义的标准错误代码,比如权限相关的'permission-denied'、存储相关的'storage/unauthorized'、认证相关的'auth/user-not-found'等,这些代码能让错误处理逻辑更规范。
  • 第二个参数(必填):自定义的错误描述,用来补充更具体的场景信息,方便调试或给用户友好提示。
  • 第三个参数(可选):配置对象,常用的是cause字段,用来关联触发这个Firebase错误的原始错误,在捕获错误时可以追踪问题根源。

捕获并处理FirebaseError

抛出后可以用instanceof判断是否为FirebaseError,针对性处理:

try {
  // 执行可能出错的Firebase操作
} catch (err) {
  if (err instanceof FirebaseError) {
    console.log(`错误代码:${err.code}`);
    console.log(`错误信息:${err.message}`);
    if (err.cause) {
      console.log(`底层原因:${err.cause}`);
    }
  } else {
    // 处理非Firebase类型的错误
    console.error('未知错误:', err);
  }
}

内容的提问来源于stack exchange,提问作者Rafff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:43:28