Package Exports
- error-custom-class
Readme
Create custom error classes.
Features
- Very simple API
- Ponyfill
error.cause
on older Node.js and browsers - Properly
set
error.name
- Fix
issues
when
Error
has been polyfilled
Example
import errorCustomClass from 'error-custom-class'
const UserError = errorCustomClass('UserError')
const DatabaseError = errorCustomClass('DatabaseError')
try {
throw new UserError('message')
} catch (error) {
console.log(error.name) // 'UserError'
console.log(error instanceof UserError) // true
}
Install
npm install error-custom-class
This package is an ES module and must be loaded using
an import
or import()
statement,
not require()
.
API
The API is designed for simplicity. For more customization,
error-class-utils
should be
used instead.
errorCustomClass(errorName)
errorName
string
Return value: CustomError
Creates a custom error class.
Related projects
modern-errors
: Handle errors like it's 2022 🔮error-class-utils
: Utilities to properly create error classeserror-serializer
: Convert errors to/from plain objectsnormalize-exception
: Normalize exceptions/errorsis-error-instance
: Check if a value is anError
instancemerge-error-cause
: Merge an error with itscause
set-error-class
: Properly update an error's classset-error-message
: Properly update an error's messageset-error-props
: Properly update an error's propertieserror-cause-polyfill
: Polyfillerror.cause
handle-cli-error
: 💣 Error handler for CLI applications 💥log-process-errors
: Show some ❤ to Node.js process errors
Support
For any question, don't hesitate to submit an issue on GitHub.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
Contributing
This project was made with ❤️. The simplest way to give back is by starring and sharing it online.
If the documentation is unclear or has a typo, please click on the page's Edit
button (pencil icon) and suggest a correction.
If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!