@thi.ng/errors
Custom error types and error factory functions
Last updated 5 years ago by thi.ng .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @thi.ng/errors 
SYNC missed versions from official npm registry.

@thi.ng/errors

npm version npm downloads Mastodon Follow

[!NOTE] This is one of 214 standalone projects, maintained as part of the @thi.ng/umbrella monorepo and anti-framework.

???? Please help me to work full-time on these projects by sponsoring me on GitHub. Thank you! ❤️

About

Custom error types and error factory functions.

This package defines the following error types & helper functions to throw them:

Custom error types can be easily defined using defError().

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/errors

ESM import:

import * as err from "@thi.ng/errors";

Browser ESM import:

<script type="module" src="https://esm.run/@thi.ng/errors"></script>

JSDelivr documentation

For Node.js REPL:

const err = await import("@thi.ng/errors");

Package sizes (brotli'd, pre-treeshake): ESM: 849 bytes

Dependencies

None

Usage examples

One project in this repo's /examples directory is using this package:

Description Live demo Source
GPU-based data reduction using thi.ng/shader-ast & WebGL multi-pass pipeline Demo Source

API

Generated API docs

import * as err from "@thi.ng/errors";

err.illegalArity(3)
// Error: illegal arity: 3

err.illegalArgs("expected foo");
// Error: illegal argument(s): expected foo

err.illegalState("oops");
// Error: illegal state: oops

err.unsupported("TODO not yet implemented")
// Error: unsupported operation: TODO not yet implemented

// define custom error
const MyError = err.defError(
    () => "Eeek... ",
    (x) => x + " is not allowed!"
);

try {
    throw new MyError(23);
} catch(e) {
    console.warn(e.message);
    console.log(e instanceof Error);
}
// Eeek... 23 is not allowed!
// true

Environment variables

The UMBRELLA_ASSERTS or VITE_UMBRELLA_ASSERTS env variables are used to control the behavior of the assert() function in production builds: If either is set (to a non-empty string), the function will always be enabled. Otherwise (by default), assert() will be disabled for production builds, i.e. if process.env.NODE_ENV === "production".

Authors

If this project contributes to an academic publication, please cite it as:

@misc{thing-errors,
  title = "@thi.ng/errors",
  author = "Karsten Schmidt",
  note = "https://thi.ng/errors",
  year = 2018
}

License

© 2018 - 2026 Karsten Schmidt // Apache License 2.0

Current Tags

  • 2.6.3                                ...           latest (2 months ago)

178 Versions

  • 2.6.3                                ...           2 months ago
  • 2.6.2                                ...           3 months ago
  • 2.6.1                                ...           3 months ago
  • 2.6.0                                ...           4 months ago
  • 2.5.50                                ...           4 months ago
  • 2.5.49                                ...           5 months ago
  • 2.5.48                                ...           5 months ago
  • 2.5.47                                ...           6 months ago
  • 2.5.46                                ...           6 months ago
  • 2.5.45                                ...           6 months ago
  • 2.5.42                                ...           7 months ago
  • 2.5.41                                ...           8 months ago
  • 2.5.40                                ...           8 months ago
  • 2.5.39                                ...           8 months ago
  • 2.5.38                                ...           9 months ago
  • 2.5.37                                ...           9 months ago
  • 2.5.36                                ...           9 months ago
  • 2.5.35                                ...           10 months ago
  • 2.5.34                                ...           10 months ago
  • 2.5.33                                ...           a year ago
  • 2.5.32                                ...           a year ago
  • 2.5.31                                ...           a year ago
  • 2.5.30                                ...           a year ago
  • 2.5.29                                ...           a year ago
  • 2.5.28                                ...           a year ago
  • 2.5.27                                ...           a year ago
  • 2.5.26                                ...           a year ago
  • 2.5.25                                ...           a year ago
  • 2.5.24                                ...           a year ago
  • 2.5.23                                ...           a year ago
  • 2.5.22                                ...           a year ago
  • 2.5.21                                ...           a year ago
  • 2.5.20                                ...           a year ago
  • 2.5.19                                ...           a year ago
  • 2.5.18                                ...           a year ago
  • 2.5.17                                ...           2 years ago
  • 2.5.16                                ...           2 years ago
  • 2.5.15                                ...           2 years ago
  • 2.5.14                                ...           2 years ago
  • 2.5.13                                ...           2 years ago
  • 2.5.12                                ...           2 years ago
  • 2.5.11                                ...           2 years ago
  • 2.5.10                                ...           2 years ago
  • 2.5.9                                ...           2 years ago
  • 2.5.8                                ...           2 years ago
  • 2.5.7                                ...           2 years ago
  • 2.5.6                                ...           2 years ago
  • 2.5.5                                ...           2 years ago
  • 2.5.4                                ...           2 years ago
  • 2.5.3                                ...           2 years ago
  • 2.5.2                                ...           2 years ago
  • 2.5.1                                ...           2 years ago
  • 2.5.0                                ...           2 years ago
  • 2.4.20                                ...           2 years ago
  • 2.4.19                                ...           2 years ago
  • 2.4.18                                ...           2 years ago
  • 2.4.17                                ...           2 years ago
  • 2.4.16                                ...           2 years ago
  • 2.4.15                                ...           2 years ago
  • 2.4.14                                ...           2 years ago
  • 2.4.13                                ...           2 years ago
  • 2.4.12                                ...           2 years ago
  • 2.4.11                                ...           2 years ago
  • 2.4.10                                ...           2 years ago
  • 2.4.9                                ...           2 years ago
  • 2.4.8                                ...           2 years ago
  • 2.4.7                                ...           2 years ago
  • 2.4.6                                ...           2 years ago
  • 2.4.5                                ...           2 years ago
  • 2.4.4                                ...           2 years ago
  • 2.4.3                                ...           2 years ago
  • 2.4.2                                ...           2 years ago
  • 2.4.1                                ...           2 years ago
  • 2.4.0                                ...           2 years ago
  • 2.3.6                                ...           2 years ago
  • 2.3.5                                ...           3 years ago
  • 2.3.4                                ...           3 years ago
  • 2.3.3                                ...           3 years ago
  • 2.3.2                                ...           3 years ago
  • 2.3.1                                ...           3 years ago
  • 2.3.0                                ...           3 years ago
  • 2.2.17                                ...           3 years ago
  • 2.2.16                                ...           3 years ago
  • 2.2.15                                ...           3 years ago
  • 2.2.14                                ...           3 years ago
  • 2.2.13                                ...           3 years ago
  • 2.2.12                                ...           3 years ago
  • 2.2.11                                ...           3 years ago
  • 2.2.10                                ...           3 years ago
  • 2.2.9                                ...           3 years ago
  • 2.2.8                                ...           3 years ago
  • 2.2.7                                ...           3 years ago
  • 2.2.6                                ...           3 years ago
  • 2.2.5                                ...           3 years ago
  • 2.2.4                                ...           3 years ago
  • 2.2.3                                ...           3 years ago
  • 2.2.2                                ...           4 years ago
  • 2.2.1                                ...           4 years ago
  • 2.2.0                                ...           4 years ago
  • 2.1.10                                ...           4 years ago
  • 2.1.9                                ...           4 years ago
  • 2.1.8                                ...           4 years ago
  • 2.1.7                                ...           4 years ago
  • 2.1.6                                ...           4 years ago
  • 2.1.5                                ...           4 years ago
  • 2.1.4                                ...           4 years ago
  • 2.1.3                                ...           4 years ago
  • 2.1.2                                ...           4 years ago
  • 2.1.1                                ...           4 years ago
  • 2.1.0                                ...           4 years ago
  • 2.0.6                                ...           4 years ago
  • 2.0.4                                ...           4 years ago
  • 2.0.3                                ...           4 years ago
  • 2.0.2                                ...           4 years ago
  • 2.0.1                                ...           4 years ago
  • 2.0.0                                ...           4 years ago
  • 1.3.4                                ...           5 years ago
  • 1.3.3                                ...           5 years ago
  • 1.3.2                                ...           5 years ago
  • 1.3.1                                ...           5 years ago
  • 1.3.0                                ...           5 years ago
  • 1.2.32                                ...           5 years ago
  • 1.2.31                                ...           5 years ago
  • 1.2.30                                ...           5 years ago
  • 1.2.29                                ...           5 years ago
  • 1.2.28                                ...           5 years ago
  • 1.2.27                                ...           5 years ago
  • 1.2.26                                ...           5 years ago
  • 1.2.25                                ...           5 years ago
  • 1.2.24                                ...           5 years ago
  • 1.2.23                                ...           5 years ago
  • 1.2.22                                ...           6 years ago
  • 1.2.21                                ...           6 years ago
  • 1.2.20                                ...           6 years ago
  • 1.2.19                                ...           6 years ago
  • 1.2.18                                ...           6 years ago
  • 1.2.17                                ...           6 years ago
  • 1.2.16                                ...           6 years ago
  • 1.2.15                                ...           6 years ago
  • 1.2.14                                ...           6 years ago
  • 1.2.13                                ...           6 years ago
  • 1.2.12                                ...           6 years ago
  • 1.2.11                                ...           6 years ago
  • 1.2.10                                ...           6 years ago
  • 1.2.9                                ...           6 years ago
  • 1.2.8                                ...           6 years ago
  • 1.2.7                                ...           6 years ago
  • 1.2.6                                ...           6 years ago
  • 1.2.5                                ...           6 years ago
  • 1.2.4                                ...           6 years ago
  • 1.2.3                                ...           6 years ago
  • 1.2.2                                ...           6 years ago
  • 1.2.1                                ...           6 years ago
  • 1.2.0                                ...           7 years ago
  • 1.1.2                                ...           7 years ago
  • 1.1.1                                ...           7 years ago
  • 1.1.0                                ...           7 years ago
  • 1.0.6                                ...           7 years ago
  • 1.0.5                                ...           7 years ago
  • 1.0.4                                ...           7 years ago
  • 1.0.3                                ...           7 years ago
  • 1.0.2                                ...           7 years ago
  • 1.0.1                                ...           7 years ago
  • 1.0.0                                ...           7 years ago
  • 0.1.12                                ...           7 years ago
  • 0.1.11                                ...           7 years ago
  • 0.1.10                                ...           7 years ago
  • 0.1.9                                ...           8 years ago
  • 0.1.8                                ...           8 years ago
  • 0.1.7                                ...           8 years ago
  • 0.1.6                                ...           8 years ago
  • 0.1.5                                ...           8 years ago
  • 0.1.4                                ...           8 years ago
  • 0.1.3                                ...           8 years ago
  • 0.1.2                                ...           8 years ago
  • 0.1.1                                ...           8 years ago
  • 0.1.0                                ...           8 years ago
  • 0.0.1                                ...           8 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 3
Last Month 2
Dependencies (1)
Dev Dependencies (9)

Copyright 2013 - present © cnpmjs.org | Home |