JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 70
  • Score
    100M100P100Q71640F
  • License MIT

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

Package Exports

  • abstract-error
  • abstract-error/lib/index.js
  • abstract-error/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (abstract-error) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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)