Organizational Research By

Surprising Reserch Topic

unable to handle exception with node js domains using express


unable to handle exception with node js domains using express  using -'node.js,exception,dns,express'

I want to use Node.js Domains to catch exceptions.  It is working so far, but there is one place I can't get domains to catch the exception.  exception2 in the callback is caught and handled in the domain.on('error') handler, but exception1 is not caught.  The odd thing is that when exception1 is thrown, it doesn't shutdown Node like I would expect.  Here is my example app:

var domain = require('domain');
var request = require('request');
var express = require('express');

var serverDomain = domain.create();
serverDomain.on('error', function(err) {
  console.log("Server Domain Error: " + err);
});

var app;

serverDomain.run(function() {
  app = express();
  app.listen(3000);
});

app.use(function(req, res, next) {

  var reqDomain = domain.create();
  reqDomain.add(req);
  reqDomain.add(res);
  reqDomain.on('error', function(err) {
    console.log("Req Domain Error: " + err);
    reqDomain.dispose();
    next(err);
  });

  next();
});

app.get('/', function(req, res) {
  var uri = "http://google.com";

  exception1.go();

  request.get({url:uri, json: {}},
    function (error, response, body) {
      if(response.statusCode === 200) {
        exception2.go();
        res.send('Success getting google response');
      }
    });
});


To get exception2 to execute, I comment out exception 1.
    
asked Sep 18, 2015 by dahiyabecomp
0 votes
14 views



Related Hot Questions



Government Jobs Opening


...