收藏
回答

云开发中try catch 获取不到异常信息

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 工具 wx8bcf21a35870d640 2.62

- 当前 Bug 的表现(可附上截图)


- 预期表现


- 复现路径


- 提供一个最简复现 Demo

try {

resData=await dbs.collection('users').where(upData).get();

} catch (error) {


return {  'errMsg': error }

}



故意把db写在dbs好让程序抛出异常;

现在的情况是异常抛出了,但却获取不到异常的错误信息(error 变量的内容);


请问下要怎么获取到云函数抛出的异常.

最后一次编辑于  03-22  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • Terrance
    Terrance
    04-30

    要这么写:

    try {
     
        resData=await dbs.collection('users').where(upData).get();
     
    } catch (error) {
     
        return { message: error.message, stack: error.stack }
    }


    分开取字段的话小程序侧可以拿到,直接取error对象或者JSON.stringfiy都有问题


    应该是NodeJS的通用问题,error对象的字段不支持遍历,所以序列化成字符串会忽略所有的字段

    04-30
    赞同 1
    回复
  • จุ๊บ L
    จุ๊บ L
    03-23

    有大神帮解答下么?

    03-23
    赞同
    回复