Node.js的线程和进程链接
js的执行是单线程/nodejs支持多进程

1. 单线程的脆弱

image.png
image.png

image.png
nodejs的单线程中,任何未捕获的错误,都会导致进程退出。
image.png

2 捕获异常

2.1 try-catch 捕获错误

image.png
缺点:

2.1.1 代码里都是try-catch

2.1.2 nodejs里面同步代码才能捕获异常,异步代码不能直接使用try-catch

因为event-loop 机制,当执行到异步任务时,try-catch所在位置的调用栈已经清空,当前是异步任务的调用堆栈,所以抛出的任何错误,try-catch都无法捕获
image.png

2.2 process.on(‘uncaughtException’,function(err){}) 兜底捕获

image.png

3 pm2进程重启

image.png

image.png