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

TypeScript下Firestore批量提交失败的错误类型及导入方法

Firestore批量提交失败的错误类型及导入方式

当使用Firebase Admin SDK的batch.commit()方法失败时,抛出的是FirebaseError类型——这是Firebase Admin SDK统一的错误类型,覆盖了Firestore操作的各类失败场景,比如权限不足、资源耗尽、数据验证错误等。

导入错误类型

你需要从firebase-admin/app模块导入FirebaseError:

import { getFirestore } from 'firebase-admin/firestore';
import { FirebaseError } from 'firebase-admin/app'; // 导入错误类型

在代码中处理错误

在catch块中,可通过类型守卫(instanceof)让TypeScript识别错误类型,从而安全访问错误的专属属性:

const db = getFirestore();

// 云函数内部逻辑
try {
  const batch = db.batch();
  // 添加批量操作...
  await batch.commit();
} catch (error) {
  // 类型守卫判断错误类型
  if (error instanceof FirebaseError) {
    console.error(`Firestore批量提交失败,错误码:${error.code},详情:${error.message}`);
    // 根据不同错误码做针对性处理
    switch (error.code) {
      case 'permission-denied':
        // 处理权限不足逻辑
        break;
      case 'resource-exhausted':
        // 处理资源耗尽(如写入超限)逻辑
        break;
      // 其他错误码场景处理
    }
  } else {
    // 处理非FirebaseError类型的异常
    console.error('未知错误:', error);
  }
}

错误类型核心属性

FirebaseError包含几个实用属性:

  • code: 标准化错误码(字符串),符合Firebase错误码规范
  • message: 错误的详细描述信息
  • details: 可选,包含错误相关的额外数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:03:15