abstract-error

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

Usage no npm install needed!

<script type="module">
  import abstractError from 'https://cdn.skypack.dev/abstract-error';
</script>

README

AbtractError Build Status npm downloads license

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

AbstractError Classes

AbstractError

All Errors are derived from the AbstractError.

  • Members:
    • message: the error message.
    • code: the error code.
  • Methods:
    • ok()
    • notFound()
    • ....
    • invalidFormat()
  • Class Methods:
    • AbstractError.isOk(err)
    • AbstractError.isNotFound(err)
    • ...

the error codes:

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

Other Error Classes:

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

Extends the AbstractError

use the createError function can extend the AbstractError.

createError(typeName, errorCode[, parentErrorClass])

arguments

  • typeName (string): the error type name, the first character must be upper case.
  • errorCode: (number): the error code, it should be greater than 1000.
  • parentErrorClass: (class): the optional parent error class. defaults to AbstractError.

return

  • the error class

Usage



var Errors = require("abstract-error/Error")
var AbstractError = Errors.AbstractError
var createError = Errors.createError


var AlreadyReadError = createError('AlreadyRead', 10000)

var err = new AlreadyReadError("already read over error.")

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