美文网首页
nodejs 使用process统一处理异常

nodejs 使用process统一处理异常

作者: yanshaowen | 来源:发表于2018-02-24 11:28 被阅读0次

    nodejs的process是一个全局对象,可以通过process控制程序的健壮性。

    process.on('exit',function(code){
        // TODO 这里可以主动释放其他资源 如zookeeper连接等
        if (code === 1000) {
            console.error('process:uncaughtException');
        }else if (code === 1001) {
            console.error('process:SIGINT');
        } else if (code === 1002) {
            console.error('process:SIGTERM');
        } else {
            console.error('process:unknown');
        }
    });
    process.on('uncaughtException',function(e){
        console.log(e);
        // 异常可以选择不退出
        process.exit(1000);
    });
    process.on('SIGINT',function () {
        process.exit(1001);
    });
    
    process.on('SIGTERM',function () {
        process.exit(1002);
    });
    
    • 1 process.exit(code): 退出程序 可以传递code值。
    • 2 process.on('exit',Function(code)):监听当前程序的退出事件, 可以进行重复监听。
    • 3 process.on('uncaughtException',Function(e)): 监听当前程序的未捕获的所有异常事件,可以进行重复监听。
    • 4 process.on('SIGINT',Function()): 监听信号量为SIGINT(所有平台执行ctrl+c时发出的信号量),可以进行重复监听。
    • 5 process.on('SIGTERM',Function()): 监听信号量为SIGTERM(除window之外的平台的kill信号),可以进行重复监听。

    相关文章

      网友评论

          本文标题:nodejs 使用process统一处理异常

          本文链接:https://www.haomeiwen.com/subject/aghqxftx.html