云函数如何手动抛异常
发布于 5 年前 作者 na03 6461 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

云函数中抛出异常,但是小程序仍然接受到正常的返回

exports.main = async (event, context) => {

throw(‘error’)

}

但是小程序调用端,仍然正常返回,result:null 。

  • 预期表现

小程序端的catch中的函数被调用

  • 复现路径
  • 提供一个最简复现 Demo

云函数端

exports.main = async (event, context) => {

throw(‘error’)

}

小程序端

wx.cloud.callFunction({

name: ‘throwtest’,

}).then(res => {

console.log(‘without error:’, res)

}).catch(err => {

console.log(‘error:’, err)

})

2 回复

这里实际上应该是云函数外层会catch住函数抛出的异常,然后包装成微信的异常,我这里就是手动抛了一个无权限的异常,最后小程序端catch住的异常只是把我的异常msg包装进去了 无法自定义错误码

云函数端抛出异常  与小程序端没关系的 。这两个是独立  怎么会互相影响。最多你从逻辑处理。

就像我服务器抛出异常  我前端为啥要抛出异常。这不符合常理。

回到顶部