采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
在你这个 express 里面该如何做异常处理呢? 如果是 routes,或者单纯的 controller 的话,用一个中间件来做挺好。 但是要是涉及到 model 层面的话,例如说我保存的时候与数据库交互发生了错误该如何处理呢? 有没有什么全局处理的好办法,当然写法不是像视频中这样采用回调的, 而是全都是 async,await,只能给每一个可能发生的 try catch 么
我说一下我的思路,老师能麻烦看看合适不合适么,因为还是在校生,学前端的,正在接触后端,所以还很多不懂。
// routes router.post("/create", positionController.wrap ) // controller const wrap = async function (req, res) { try { await createPosition(req, res) } catch (e) { throw new SaveError(arguments...) } } //model 正常保存,不处理任何异常,就是老师代码中的 createPosition。
在 controller 函数里面定义的这个 saveError 是继承我自定义的一个 HttpError,然后在 express 中间件中写我们的全局异常捕获,switch 或者 if 判断是哪个具体的 error,来做具体处理。
可是这样的话感觉这个 controller 是不是有点怪怪的,所以想请教下老师。
登录后可查看更多问答,登录/注册
30%理论+70%实战,用实操检验真理,一门让你事半功倍的入门进阶课
1.6k 9
2.8k 4
1.2k 6
973 9