JSFiddle - React, Tailwind, and code Playground

JavaScript

function NotImplementedError(message) {
    this.name = "NotImplementedError";
    this.message = (message || "");
}
NotImplementedError.prototype = Error.prototype;

function NotImplementedError2(message) {
    this.message = (message || "");
}
NotImplementedError2.prototype = new Error();

try {
    var e = new NotImplementedError("NotImplementedError message");
    throw e;
} catch (ex1) {
    console.log(ex1.stack);
    console.log("ex1 instanceof AssertionFailedError = " + (ex1 instanceof NotImplementedError));
    console.log("ex1 instanceof Error = " + (ex1 instanceof Error));
    console.log("ex1.name = " + ex1.name);
    console.log("ex1.message = " + ex1.message);
}

try {
    var e = new NotImplementedError2("NotImplementedError2 message");
    throw e;
} catch (ex1) {
    console.log(ex1.stack);
    console.log("ex1 instanceof AssertionFailedError = " + (ex1 instanceof NotImplementedError2));
    console.log("ex1 instanceof Error = " + (ex1 instanceof Error));
    console.log("ex1.name = " + ex1.name);
    console.log("ex1.message = " + ex1.message);
}