Google Apps Script的error错误对象有哪些可访问的属性?
Google Apps Script 错误对象属性及参考说明
Google Apps Script(下称GAS)的Error对象基于ECMAScript标准实现,同时包含GAS运行时的专属扩展属性,你测试到的stack、message、name是所有Error对象都支持的通用标准属性,以下是完整说明:
通用标准属性(所有错误场景均有效)
name:错误类型标识,不同错误类型对应不同值,常见通用值包括Error、TypeError、ReferenceError,GAS专属服务抛出的错误会返回对应服务的错误类型,比如JDBC相关错误会返回SQLException,可以用来分类处理不同的错误逻辑message:错误的具体描述文本,会明确说明错误的直接触发原因,比如JDBC连接超时、账号密码错误、变量未定义等stack:错误调用栈信息,包含错误发生的脚本路径、所属函数、行号、列号,主要用于调试阶段定位问题触发位置
特定服务的扩展属性(仅对应服务抛出错误时有效)
GAS的各类内置服务抛出错误时,会额外添加服务专属的属性,这些属性不属于通用Error对象,所以你测试的type属性不属于通用属性,自然返回无效,常见的专属属性包括:
- JDBC服务错误:携带
sqlState、errorCode属性,对应JDBC标准的SQL错误状态码和错误编号 - UrlFetch服务网络错误:携带
responseCode属性,对应HTTP请求的返回状态码 - 权限类错误:携带
permissionDetails属性,说明权限缺失的具体范围
快速查询错误对象所有属性的方法
如果需要确认当前捕获的错误包含哪些可使用属性,可以直接通过以下代码打印所有属性,无需反复试错:
try { // 执行业务逻辑 } catch(e) { // 打印当前错误对象的所有自有属性名 Logger.log(Object.getOwnPropertyNames(e)); // 也可以转成JSON字符串查看完整属性结构 Logger.log(JSON.stringify(e, null, 2)); }
关于GAS错误对象的权威说明可以在Google Apps Script官方开发文档的核心类型模块下查询到完整定义。
内容的提问来源于stack exchange,提问作者kbrizz
相关产品推荐
相关产品推荐

