Mongodb 连接失败,怎么避免抛错影响正常流程
如题
网站mongodb连接不上的时候,就会抛出错误,阻碍了流程正常的运行。
mongodb只用来存log等非关键信息.
所有代码都包了try catch ,不可能每个地方都特殊处理吧?
而且连接失败了,我的代码还是直接 $this->di->mongo->find($param);
即使处理了连接异常,但是有好多代码都是直接用对象->find 这里还是会报错。。
也就是说得包一层find。。。
最终: 我的问题,就是在mongo的connect函数中包一次try catch就行了,这样就不太会被外层的try catch捕捉了。。。 还是有点奇怪,最最外面主函数还有一层try catch为什么就不捕捉了呢。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
操作 mongodb 的时候,是不是需要封装一个类,链接 mongodb 的时候就是调用 类的 connect 的方法,记录 log 就是调用类的 log 方法,那么只需要在这个类中处理异常吧。
代码粗糙,意会吧
PHP操作MongoDB的 exception handling没有什么特别的地方,和其他的场景一样,使用try catch来处理。
PHP MongDB client包含了一些exeception的类:
但是您估计为了简化,只会统一处理
MongoDB\Exception\Exception
。正如一楼的朋友所言,可以做一些类来封装此类操作使得事情简洁一些。
供参考。
Love MongoDB! Have Fun!
既然你所有的地方都用到了它,何不把它封装起来集中处理呢