common-errors
Advanced tools
Comparing version
10
index.js
@@ -28,8 +28,8 @@ module.exports = { | ||
module.exports.log = function(err, message) { | ||
if(typeof err == 'string') err = new module.exports.Generic(err); | ||
if(typeof err == 'string') message = err, err = new module.exports.Generic(message); | ||
else if(err && !(err instanceof module.exports.Generic) || err.isLogged) { | ||
err = new module.exports.Generic(message || "A generic error has occurred.", err); | ||
} | ||
if(err) { | ||
message = message || "A generic error has occurred."; | ||
if(err.isLogged) err = new module.exports.Generic(message); | ||
else err = new module.exports.Generic(message, err); | ||
console.error(err); | ||
console.error(err && err.stack || err); | ||
err.isLogged = true; | ||
@@ -36,0 +36,0 @@ } |
@@ -8,3 +8,6 @@ module.exports = function (errorHandler){ | ||
d.dispose(); | ||
errorHandler = errorHandler || findErrorHandler(req.app); | ||
if(res.finished || Object.keys(res._headers).length) { | ||
console.error(err && err.stack); | ||
return res.end(); | ||
} | ||
if(errorHandler) errorHandler(err, req, res); | ||
@@ -11,0 +14,0 @@ else next(err); |
@@ -5,3 +5,3 @@ { | ||
"description": "Common error classes and utility functions", | ||
"version": "0.1.3", | ||
"version": "0.1.5", | ||
"repository": { | ||
@@ -8,0 +8,0 @@ "type": "git", |
@@ -13,3 +13,3 @@ var errors = require('../'); | ||
console.error = function(message){ | ||
if(message.message) errorLog.push(message.message); | ||
if(message && message.message) errorLog.push(message.message); | ||
else errorLog.push(message); | ||
@@ -32,3 +32,3 @@ }; | ||
test.equals(errorLog.length, 1); | ||
test.equals(errorLog[0], "Panic!"); | ||
test.ok(/GenericError: Panic!/.test(errorLog[0]), 'message matches'); | ||
test.equals(err, err2.innerError); | ||
@@ -42,4 +42,4 @@ test.ok(err2.isLogged); | ||
test.equals(errorLog.length, 1); | ||
test.equals(errorLog[0], "A generic error has occurred."); | ||
test.equals(err2.innerError.message, "Panic!"); | ||
test.ok(/GenericError: Panic!/.test(errorLog[0]), 'message matches'); | ||
test.ok(!err2.innerError, 'no inner error'); | ||
test.ok(err2.isLogged); | ||
@@ -53,3 +53,3 @@ test.done(); | ||
test.equals(errorLog.length, 1); | ||
test.equals(errorLog[0], "A generic error has occurred."); | ||
test.ok(/GenericError: A generic error has occurred./.test(errorLog[0]), "message matches"); | ||
test.equals(err, err2.innerError) | ||
@@ -59,1 +59,22 @@ test.ok(err2.isLogged); | ||
} | ||
module.exports["log generic error"] = function(test){ | ||
var err = new errors.Generic("This is a test."); | ||
var err2 = errors.log(err); | ||
test.equals(errorLog.length, 1); | ||
test.ok(/GenericError: This is a test./.test(errorLog[0]), "message matches"); | ||
test.ok(!err2.innerError); | ||
test.ok(err2.isLogged); | ||
test.done(); | ||
} | ||
module.exports["log generic error again"] = function(test){ | ||
var err = new errors.Generic("This is a test."); | ||
err.isLogged = true; | ||
var err2 = errors.log(err); | ||
test.equals(errorLog.length, 1); | ||
test.ok(/GenericError: A generic error has occurred./.test(errorLog[0]), "message matches"); | ||
test.equals(err, err2.innerError) | ||
test.ok(err2.isLogged); | ||
test.done(); | ||
} |
16092
5.82%247
9.29%