abstract error class with error code supports to create error class quickly.
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
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
- Errors.NotFoundError
- Errors.CorruptionError
- Errors.NotSupportedError/NotImplementedError
- Errors.InvalidArgumentError
- Errors.IOError
- Errors.NotOpenedError
- Errors.InvalidTypeError
- Errors.InvalidFormatError
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
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)