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

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 toAbstractError.
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)