Socket
Socket
Sign inDemoInstall

check-error

Package Overview
Dependencies
0
Maintainers
2
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

check-error

Error comparison and information related utility for node and the browser


Version published
Maintainers
2
Weekly downloads
8,752,513
decreased by-6.26%

Weekly downloads

Package description

What is check-error?

The check-error npm package is a utility for checking errors and their properties. It is primarily used for testing error conditions in a consistent and readable manner. It provides functions to validate the type of an error, its message, and other properties.

What are check-error's main functionalities?

check error type

This feature allows you to check if an error is of a specific type, such as TypeError, using the isTypeError method.

const checkError = require('check-error');
const TypeError = checkError.TypeError;
try {
  // some code that may throw
} catch (e) {
  if (checkError.isTypeError(e)) {
    // handle TypeError specifically
  }
}

check error instance

This feature allows you to check if an error is an instance of a specific error class using the instanceOf method.

const checkError = require('check-error');
try {
  // some code that may throw
} catch (e) {
  if (checkError.instanceOf(e, CustomError)) {
    // handle CustomError specifically
  }
}

check error message

This feature allows you to check if an error contains a specific message using the hasMessage method.

const checkError = require('check-error');
try {
  // some code that may throw
} catch (e) {
  if (checkError.hasMessage(e, 'expected message')) {
    // handle errors with a specific message
  }
}

Other packages similar to check-error

Readme

Source

ChaiJS check-error

Error comparison and information related utility for node and the browser.

license:mit tag:?

example workflow

coverage:? npm:? dependencies:? devDependencies:?
Selenium Test Status
Join the Slack chat Join the Gitter chat

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:

  • compatibleInstance(err, errorLike) - Checks if an error is compatible with another errorLike object. If errorLike is an error instance we do a strict comparison, otherwise we return false by default, because instances of objects can only be compatible if they're both error instances.
  • compatibleConstructor(err, errorLike) - Checks if an error's constructor is compatible with another errorLike object. If err has the same constructor as errorLike or if err is an instance of errorLike.
  • compatibleMessage(err, errMatcher) - Checks if an error message is compatible with an errMatcher RegExp or String (we check if the message contains the String).
  • getConstructorName(errorLike) - Retrieves the name of a constructor, an error's constructor or errorLike itself if it's not an error instance or constructor.
  • getMessage(err) - Retrieves the message of an error or err itself if it's a String. If err or err.message is undefined we return an empty String.
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'

Keywords

FAQs

Last updated on 21 Jul 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc