Skip to content

An Exception base class for Javascript/Typescript that extends the built-in Error class with code and context properties.

License

Notifications You must be signed in to change notification settings

forward-steady/exception

Repository files navigation

Exception

An Exception base class for Javascript/Typescript that extends the built-in Error class with code and context properties.

Install

For npm users:

npm install @forward-steady/exception

for yarn users:

yarn add @forward-steady/exception

Usage

The Exception class derives from the Error class and can be use in a similiar manner. It includes optional code and context properties that can be provided in the constructor.

const message = 'Unable to perform action X';
const code = 'action-x-failed';
const context = {
  recordId: 5003
}

throw new Exception(message, code, context);

Since the Exception class derives from the Error class, it will have a stack property just as an Error instance would.

const exception = new Exception(message, code, context);
console.log(exception.stack)

It is also easy to convert an Error instance into an Exception instance and preserve the message and stack trace of the error. This allows a code and context to be include with the error message and stack trace.

const error = new Error(message)
const exception = Exception.fromError(error, code, context);

expect(exception.message).toBe(error.message);
expect(exception.stack).toBe(error.stack);

expect(exception.code).toBe(code);
expect(exception.context).toBe(context);

About

An Exception base class for Javascript/Typescript that extends the built-in Error class with code and context properties.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published