|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- # es6-error
-
- [![npm version](https://badge.fury.io/js/es6-error.svg)](https://www.npmjs.com/package/es6-error)
- [![Build Status](https://travis-ci.org/bjyoungblood/es6-error.svg?branch=master)](https://travis-ci.org/bjyoungblood/es6-error)
-
- An easily-extendable error class for use with ES6 classes (or ES5, if you so
- choose).
-
- Tested in Node 4.0, Chrome, and Firefox.
-
- ## Why?
-
- I made this because I wanted to be able to extend Error for inheritance and type
- checking, but can never remember to add
- `Error.captureStackTrace(this, this.constructor.name)` to the constructor or how
- to get the proper name to print from `console.log`.
-
- ## ES6 Usage
-
- ```javascript
-
- import ExtendableError from 'es6-error';
-
- class MyError extends ExtendableError {
- // constructor is optional; you should omit it if you just want a custom error
- // type for inheritance and type checking
- constructor(message = 'Default message') {
- super(message);
- }
- }
-
- export default MyError;
- ```
-
- ## ES5 Usage
-
- ```javascript
-
- var util = require('util');
- var ExtendableError = require('es6-error');
-
- function MyError(message) {
- message = message || 'Default message';
- ExtendableError.call(this, message);
- }
-
- util.inherits(MyError, ExtendableError);
-
- module.exports = MyError;
- ```
-
- ### Known Issues
-
- - Uglification can obscure error class names ([#31](https://github.com/bjyoungblood/es6-error/issues/31#issuecomment-301128220))
-
- #### Todo
-
- - Better browser compatibility
- - Browser tests
|