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

2.0.0 • Public • Published

AbtractError Build Status npm downloads license

abstract error class with error code supports to create error class quickly.

Classes

AbstractError

All Errors are derived from the AbstractError.

import { AbstractError, createErrorClass } from 'abstract-error'
  • Members:
    • message: the error message.
    • code: the error code.
  • Class Methods:
    • createErrorClass(aType: string, aErrorCode: number, ParentErrorClass=AbstractError): typeof AbstractError

CommonError

import { CommonError } from 'abstract-error'

CommonError derived from the AbstractError. All Common Errors are derived from the CommonError. The CommonError use the number as error code.

  • Members:
    • message: the error message.
    • code: the error code.
  • Methods: return true if the error instance is this error type.
    • ok()
    • notFound()
    • ....
    • invalidFormat()
  • Class Methods:
    • createErrorClass(aType: string, aErrorCode?: number, ParentErrorClass=CommonError): typeof CommonError
    • CommonError.isOk(err)
    • CommonError.isNotFound(err)
    • ...

the error codes:

  • CommonError.Ok = 0
  • CommonError.NotFound = 1
  • CommonError.Corruption = 2
  • CommonError.NotSupported = 3
  • CommonError.InvalidArgument = 4
  • CommonError.IO = 5
  • CommonError.NotOpened = 6
  • CommonError.InvalidType = 7
  • CommonError.InvalidFormat = 8

Other Error Classes

  • Errors.NotFoundError
  • Errors.CorruptionError
  • Errors.NotSupportedError/NotImplementedError
  • Errors.InvalidArgumentError
  • Errors.IOError
  • Errors.NotOpenedError
  • Errors.InvalidTypeError
  • Errors.InvalidFormatError

Extends the AbstractError

use the createErrorClass function can extend the AbstractError.

createErrorClass(typeName, errorCode?: number|string, parentErrorClass?: typeof AbstractError): typeof AbstractError

arguments

  • typeName (string): the error type name, the first character must be upper case.
  • errorCode: (number|string): the optional error code, it should be not equal 0 if it's a number.
  • parentErrorClass: (class): the optional parent error class. defaults to AbstractError.

return

  • the new error class

Usage

import {CommonError, Errors, createCommonErrorClass} from 'abstract-error';

const NotFoundError = Errors.NotFoundError
const AlreadyReadError = createCommonErrorClass('AlreadyRead', 10000)

const err = new AlreadyReadError('already read over error.')

assert.ok(CommonError.isAlreadyRead(err))
assert.ok(AlreadyReadError.isAlreadyRead(err))
assert.ok(err.alreadyRead())
assert.equal(err.message, 'already read over error.')
assert.equal(err.code, 10000)

Package Sidebar

Install

npm i abstract-error

Weekly Downloads

20

Version

2.0.0

License

MIT

Unpacked Size

34.8 kB

Total Files

19

Last publish

Collaborators

  • riceball