koa 捕获sql异常

发布于 2022-09-11 19:45:33 字数 369 浏览 9 评论 0

try...catch开始懵了
对于从数据库增删改查数据,例如在做一个删除用户的操作,是不是都需要捕获异常。
是不是对任何数据库操作都需要做异常处理,try.catch?
[是的话我觉得好麻烦]

  User.destroyUser = async function (Id) {
    try {
        const res = await this.destroy({
          where: {
            Id
          }
        })    
    } catch (e) {
        throw(e)
    }

    return res
  }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

没︽人懂的悲伤 2022-09-18 19:45:33

封装一个函数,比如叫warp() ,这个wrap的参数就是你要处理的那个逻辑。

async function dosomething(){
    const res = await this.destroy({
      where: {
        Id
      }
    })  
}
wrap(function()){
    try{
        function()
    }catch(){
    }
}


剩下的就是在调用具体的逻辑的时候,在外面包一层`wrap`就好,写一次的`try catch`就可以了。
从程序的健壮性来说,是所有的操作都是要捕获异常的,因为异常是不确定性的。只有所有的代码都处理,才是健壮性的,对于单线程的JS来说,更为重要。
平定天下 2022-09-18 19:45:33

可以改写成new Promise().then().catch()的形式

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文