1.3.6 • Published 5 years ago
make-error v1.3.6
make-error
Make your own error types!
Features
- Compatible Node & browsers
instanceof
supporterror.name
&error.stack
support- compatible with CSP (i.e. no
eval()
)
Installation
Node & Browserify/Webpack
Installation of the npm package:
> npm install --save make-error
Then require the package:
var makeError = require("make-error");
Browser
You can directly use the build provided at unpkg.com:
<script src="https://unpkg.com/make-error@1/dist/make-error.js"></script>
Usage
Basic named error
var CustomError = makeError("CustomError");
// Parameters are forwarded to the super class (here Error).
throw new CustomError("a message");
Advanced error class
function CustomError(customValue) {
CustomError.super.call(this, "custom error message");
this.customValue = customValue;
}
makeError(CustomError);
// Feel free to extend the prototype.
CustomError.prototype.myMethod = function CustomError$myMethod() {
console.log("CustomError.myMethod (%s, %s)", this.code, this.message);
};
//-----
try {
throw new CustomError(42);
} catch (error) {
error.myMethod();
}
Specialized error
var SpecializedError = makeError("SpecializedError", CustomError);
throw new SpecializedError(42);
Inheritance
Best for ES2015+.
import { BaseError } from "make-error";
class CustomError extends BaseError {
constructor() {
super("custom error message");
}
}
Related
- make-error-cause: Make your own error types, with a cause!
Contributions
Contributions are very welcomed, either on the documentation or on the code.
You may:
- report any issue you've encountered;
- fork and create a pull request.
License
ISC © Julien Fontanet
1.3.6
5 years ago
1.3.5
7 years ago
1.3.4
7 years ago
1.3.3
7 years ago
1.3.2
7 years ago
1.3.1
7 years ago
1.3.0
8 years ago
1.2.3
8 years ago
1.2.2
8 years ago
1.2.1
9 years ago
1.2.0
9 years ago
1.1.1
9 years ago
1.1.0
9 years ago
1.0.4
10 years ago
1.0.3
10 years ago
1.0.2
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago
0.3.0
11 years ago
0.2.0
11 years ago
0.1.0
11 years ago
0.0.0
11 years ago