make-error
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.6 • Public • Published

    make-error

    Package Version Build Status PackagePhobia Latest Commit

    Make your own error types!

    Features

    • Compatible Node & browsers
    • instanceof support
    • error.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

    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

    Install

    npm i make-error

    DownloadsWeekly Downloads

    4,374,783

    Version

    1.3.6

    License

    ISC

    Unpacked Size

    12.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar