trycatch / 1.5.19 last updated 3 days ago created on Sep 29th 2011

Install

npm install --save trycatch

Clone

git clone git@github.com:CrabDude/trycatch.git

dependencies

main hookit 1.1.0 MIT
ansi-styles 1.1.0 MIT

maintainers

crabdude

versions 65 total

1.5.19 3 days ago crabdude
1.5.18 3 days ago crabdude
1.5.17 3 days ago crabdude
1.5.16 5 days ago crabdude
1.5.15 5 days ago crabdude
1.5.14 5 days ago crabdude
1.5.13 5 days ago crabdude
1.5.12 5 days ago crabdude
1.5.11 a year ago crabdude
1.5.10 a year ago crabdude
1.5.9 a year ago crabdude
1.5.8 a year ago crabdude
1.5.7 a year ago crabdude
1.5.6 a year ago crabdude
1.5.5 a year ago crabdude
1.5.4 a year ago crabdude
1.5.3 a year ago crabdude
1.5.2 a year ago crabdude
1.5.1 a year ago crabdude
1.5.0 a year ago crabdude
1.4.4 a year ago crabdude
1.4.3 a year ago crabdude
1.4.2 a year ago crabdude
1.4.1 a year ago crabdude
1.4.0 a year ago crabdude
1.3.3 a year ago crabdude
1.3.2 a year ago crabdude
1.3.1 a year ago crabdude
1.3.0 a year ago crabdude
1.2.1 a year ago crabdude
1.2.0 a year ago crabdude
1.1.1 a year ago crabdude
1.1.0 a year ago crabdude
1.0.8 a year ago crabdude
1.0.7 a year ago crabdude
1.0.6 2 years ago crabdude
1.0.5 2 years ago crabdude
1.0.4 2 years ago crabdude
1.0.3 2 years ago crabdude
1.0.2 2 years ago crabdude
1.0.1 2 years ago crabdude
1.0.0 2 years ago crabdude
0.2.13 2 years ago crabdude
0.2.12 2 years ago crabdude
0.2.11 2 years ago crabdude
0.2.10 2 years ago crabdude
0.2.9 2 years ago crabdude
0.2.8 2 years ago crabdude
0.2.7 2 years ago crabdude
0.2.6 2 years ago crabdude
0.2.5 2 years ago crabdude
0.2.4 2 years ago crabdude
0.2.3 2 years ago crabdude
0.2.2 2 years ago crabdude
0.2.1 3 years ago crabdude
0.2.0 3 years ago crabdude
0.1.6 3 years ago crabdude
0.1.5 3 years ago crabdude
0.1.4 3 years ago crabdude
0.1.3 3 years ago crabdude
0.1.2 3 years ago crabdude
0.1.1 3 years ago crabdude
0.0.11 4 years ago crabdude
0.0.9 4 years ago crabdude
0.0.8 4 years ago crabdude
265 Downloads yesterday.

readme

trycatch

Build Status A domain-based asynchronous try/catch with (optional) long stack traces for node.js optimized for V8.

WARNING: trycatch replaces the built-in global Error object.

Install

npm install trycatch

Use

1
2
3
4
5
6
var trycatch = require('trycatch')
trycatch(function() {
  // do something error-prone
}, function(err) {
  console.log(err.stack);
})

Returning 500s on Server Request

http.createServer(function(req, res) {
  trycatch(function() {
    setTimeout(function() {
      throw new Error('Baloney!');
    }, 1000);
  }, function(err) {
    res.writeHead(500);
    res.end(err.stack);
  });
}).listen(8000);

Visit http://localhost:8000 and get your 500.

Options

Optional Long-Stack-Traces:

1
2
3
4
5
// Because trycatch shims all native I/O calls,
// it must be required & configured with 'long-stack-traces' before any other modules.
var trycatch = require('trycatch')
trycatch.configure({'long-stack-traces': true})
trycatch(fnTry, fnCatch)

Colors:

var trycatch = require('trycatch')
trycatch.configure({
  colors: {
    // 'none' or falsy values will omit
    'node': 'none',
    'node_modules': false,
    'default': 'yellow'
  }
})
trycatch(fnTry, fnCatch)

Advanced Formatting:

1
2
3
4
5
6
7
8
var trycatch = require('trycatch')
trycatch.configure({
  format: function(line) {
    // Alter final output (falsy values will omit)
    return line
  }
})
trycatch(fnTry, fnCatch)

Basic Example

var trycatch = require("trycatch"),
  _ = require('underscore')._

  trycatch(function() {
  _.map(['Error 1', 'Error 2'], function foo(v) {
    setTimeout(function() {
      throw new Error(v)
    }, 10)
  })
}, function(err) {
  console.log("Async error caught!\n", err.stack);
});

Output

Advanced Examples

See the /test and examples directories for more use cases.

Resolving all dependencies.. This could take a while as our cache is not yet fully warmed up.