Package Exports
- make-error
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (make-error) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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