Home

Awesome

<h1 align=center> <a href="http://chaijs.com" title="Chai Documentation"> <img alt="ChaiJS" src="http://chaijs.com/img/chai-logo.png"> </a> <br> check-error </h1> <p align=center> Error comparison and information related utility for <a href="http://nodejs.org">node</a> and the browser. </p>

What is Check-Error?

Check-Error is a module which you can use to retrieve an Error's information such as its message or constructor name and also to check whether two Errors are compatible based on their messages, constructors or even instances.

Installation

Node.js

check-error is available on npm. To install it, type:

$ npm install check-error

Browsers

You can also use it within the browser; install via npm and use the check-error.js file found within the download. For example:

<script src="./node_modules/check-error/check-error.js"></script>

Usage

The primary export of check-error is an object which has the following methods:

var checkError = require('check-error');

.compatibleInstance(err, errorLike)

var checkError = require('check-error');

var funcThatThrows = function() { throw new TypeError('I am a TypeError') };
var caughtErr;

try {
  funcThatThrows();
} catch(e) {
  caughtErr = e;
}

var sameInstance = caughtErr;

checkError.compatibleInstance(caughtErr, sameInstance); // true
checkError.compatibleInstance(caughtErr, new TypeError('Another error')); // false

.compatibleConstructor(err, errorLike)

var checkError = require('check-error');

var funcThatThrows = function() { throw new TypeError('I am a TypeError') };
var caughtErr;

try {
  funcThatThrows();
} catch(e) {
  caughtErr = e;
}

checkError.compatibleConstructor(caughtErr, Error); // true
checkError.compatibleConstructor(caughtErr, TypeError); // true
checkError.compatibleConstructor(caughtErr, RangeError); // false

.compatibleMessage(err, errMatcher)

var checkError = require('check-error');

var funcThatThrows = function() { throw new TypeError('I am a TypeError') };
var caughtErr;

try {
  funcThatThrows();
} catch(e) {
  caughtErr = e;
}

var sameInstance = caughtErr;

checkError.compatibleMessage(caughtErr, /TypeError$/); // true
checkError.compatibleMessage(caughtErr, 'I am a'); // true
checkError.compatibleMessage(caughtErr, /unicorn/); // false
checkError.compatibleMessage(caughtErr, 'I do not exist'); // false

.getConstructorName(errorLike)

var checkError = require('check-error');

var funcThatThrows = function() { throw new TypeError('I am a TypeError') };
var caughtErr;

try {
  funcThatThrows();
} catch(e) {
  caughtErr = e;
}

var sameInstance = caughtErr;

checkError.getConstructorName(caughtErr) // 'TypeError'

.getMessage(err)

var checkError = require('check-error');

var funcThatThrows = function() { throw new TypeError('I am a TypeError') };
var caughtErr;

try {
  funcThatThrows();
} catch(e) {
  caughtErr = e;
}

var sameInstance = caughtErr;

checkError.getMessage(caughtErr) // 'I am a TypeError'