应该如何避免代码的错误导致node服务频繁重启?

nodejs是单线程,当代码中出现错误的时候,服务就挂了。
当然相应的,有守护进程这种东西,在他挂了的时候能自动重启。
但是,如果node服务上的报错触发方式被别人知道了。
然后在执行业务逻辑的时候故意触发这个报错,可能会导致业务错乱,虽然有数据库事务,但是终究问题还是存在。

应该如何避免代码的错误导致node服务频繁重启?

阅读 3.2k
2 个回答

https://nodejs.org/api/process.html#process_event_uncaughtexception

但也请留意下方的 Warning: Using 'uncaughtException' correctly,滥用这个机制会导致你的程序积累起越来越多的预期外错误,从而使得整个应用处于一个完全不可预测,难以复现的状态。无论是从业务安全还是维护排错来说,都不是一个良好实践。

事实上任何试图“捕捉所有异常”的行为都是不可取的,所有的 try catch 都是给你用来处理 预期内 的异常情况,一旦出现预期之外的错误,die early ,然后尽快修复才是正确的做法。

异常捕获处理.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题