文档章节

NodeJS监听全局Exception,并且不停止在运行的服务

岳静
 岳静
发布于 2016/09/13 14:04
字数 258
阅读 85
收藏 0

方式1:

只需要在启动的js里面添加如下代码即可:

process.on('uncaughtException', function (err) {
  console.log('Caught exception: ' + err);
});

说明:我们可以uncaughtException来全局捕获未捕获的Error,同时你还可以将此函数的调用栈打印出来,捕获之后可以有效防止node进程退出

这相当于在node进程内部进行守护, 但这种方法很多人都是不提倡的,说明你还不能完全掌控Node.JS的异常。 

 

方式2:

采用try/catch

var http = require('http')

http.createServer(function (req, res) {
    try {
        handler(req, res, function (err) {
            res.statusCode = 404
            res.end('no such location')
        })
    } catch(e) {
        console.log('\r\n', e, '\r\n', e.stack);
        try {
          res.end(e.stack);
        } catch(e) { }
    }
}).listen(5858);

说明:在回调前加try/catch,同样确保线程的安全。 

这种方案的好处是,可以将错误和调用栈直接输出到当前发生的网页上。 

来源http://www.suyunyou.com/aid4093.html

感谢您的阅读,希望对您有帮助,本文版权归 #速云优# 所有

本文转载自:http://www.suyunyou.com/aid4093.html

岳静

岳静

粉丝 45
博文 19
码字总数 8678
作品 0
深圳
高级程序员
私信 提问
Node.js---01、初识NodeJS和Node.js的HTTP服务器搭建

一、前言 我们先从以下几个方面在大体上认识一下Node.js: Node.js 是什么?==> 运行环境 是一个 可以运行 并加载 ES语法的 脚本运行环境 JS(ES5)、ES6、Common.js 语法 …… Node.js 可以加...

秋季长青
2017/11/06
197
0
BeautyWe.js 一套专注于微信小程序的开发范式

一个简单的介绍 BeautyWe.js 是什么? 它是一套专注于微信小程序的企业级开发范式,它的愿景是: 让企业级的微信小程序项目中的代码,更加简单、漂亮。 为什么要这样命名呢? Write beautifu...

JerryC
06/10
0
0
关于nodejs+npm+vue服务webpack打包到线上服务器部署的一些坑

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/English0523/article/details/100017541 本文主要介绍vue+webpack打包...

天府云创
08/22
0
0
超简单的前端跨域、前后端分离解决方案

简介 LiveNode是一个基于Node.js轻巧的web服务,帮助前端开发者解决本地跨域,代码刷新,以及SPA(单页应用)前后端服务分离,并且可以用于生产环境项目部署。 Github地址 安装 全局安装liven...

飞翔荷兰人
2018/05/23
0
0
Node.js进阶之进程与线程

进程与线程在服务端研发中是一个非常重要的概念,如果您在学习的时候对这一块感到混乱或者不是太理解,可以阅读下本篇内容,本篇在介绍进程和线程的概念之外,列举了很多 Demo 希望能从实战角...

五月君
06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android面试常客之Handler全解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fnhfire_7030/article/details/79518819 前言:又到了一年...

shzwork
27分钟前
4
0
position sticky 定位

本文转载于:专业的前端网站➫position sticky 定位 1、兼容性 https://caniuse.com/#search=sticky chrome、ios和firefox兼容性良好。 2、使用场景 sticky:粘性。粘性布局。 在屏幕范围内时...

前端老手
33分钟前
4
0
CentOS 7 yum 安装 PHP7.3 教程

参考:https://www.mf8.biz/centos-rhel-install-php7-3/ 1、首先安装 EPEL 源: yum install epel-release 安装 REMI 源: yum install http://rpms.remirepo.net/enterprise/remi-release......

dragon_tech
48分钟前
4
0
Linux物理网卡聚合及桥接

Linux内部实现的bridge可以把一台机器上的多张网卡桥接起来,从而把自己作为一台交换机。同时,LInux bridge还支持虚拟端口,即桥接的不一定都是物理网卡接口,还可以是虚拟接口。目前主要表...

xiangyunyan
49分钟前
4
0
一起来学Java8(一)——函数式编程

在这篇文章中,我们将了解到在Java8下如何进行函数式编程。 函数式编程 所谓的函数式编程就是把函数名字当做值进行传递,然后接收方拿到这个函数名进行调用。 首先来看下JavaScript如何进行函...

猿敲月下码
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部