调用接口报错,造成的node服务器挂掉,这么脆弱的东西应该如何优化
写前端的,后端懂得不多,问的问题如果没水平,请多多包涵
我有一个往数据库添加条目的接口,框架是express+mongoose,代码是这么写的:
路由和控制器
models有三个必填参数
然后问题是这样,我调用了一下接口,什么也没传,会报错是在我预期内的,出乎我意料的是,服务器挂了o(╯□╰)o
这样搞,这服务器也太脆弱了,我试着把控制器里if(error)的情况改成返回错误信息,但是没毛用,并不能阻止服务器挂掉。我觉得正常状态是,会返回错误信息,但是服务器肯定还是正常的才行,不然也太扯了。
我是不是该加个判断,判断上传的数据里是不是有三个必填的参数,如果没有就不让他往后面代码进行来避免错误,不过我还是觉得这容错能力太差了,一个小错误服务器就挂了。
没什么后端经验,请大家多多指教,尽量为我指出,我的理解有什么大的问题?问题在哪里?如何改进?非常感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
数据库出错,客户端返回一个错误状态吗和消息不就好了吗,为什么要在服务端抛出错误,你这里throw的意思就是让服务端直接挂掉不返回消息给客户端
首先,一个是要谨慎处理所有可能出错的地方,做好
try catch
,监听进程的uncaughtException
,使用cluster
等【其实对于一个前端来说,我已经习惯于js出错就挂的小性子了】。另外,其实开发模式以外的情况,都会使用
pm2
或是forever
之类的做持久化运行,个人比较推荐pm2
,各方面管理和log比较清晰。node 调试模式 用 nodemon启动
生产模式 用 pm2 管理