Error
TwitterGitHub
Draft
Draft
  • Introduction
  • ❤ Benefits
  • General concepts
  • Getting started
    • Skeleton
    • Installation
      • npm
    • Public API
    • Basic concepts
  • CommonError {}
    • Overview
    • Generic type variables
    • Constructor
    • Accessors
      • get fix()
      • get id()
      • get link()
      • get message()
      • get problem()
      • get template()
    • Properties
      • static template
      • #fix
      • #id?
      • #link?
      • #problem
      • #template
    • Methods
      • static defineMessage()
      • static isError()
  • CommonErrors {}
    • Overview
    • Generic type variables
    • Constructor
    • Accessors
      • get errors()
    • Properties
      • static template?
      • #id?
      • #errors
    • Methods
      • delete()
      • has()
      • throw()
      • isAllowedId()
  • Error {}
    • Overview
    • Generic type variables
    • ★ Constructor
    • Accessors
      • get name()
      • get [Symbol.toStringTag]()
    • Methods
      • static define()
      • static isError()
  • Errors {}
    • Overview
    • Generic type variables
    • Constructor
    • Methods
      • get()
      • getErrors()
      • set()
    • Example usage
  • RangeError {}
    • Overview
    • Generic type variables
    • ★ Constructor
    • Accessors
      • get max()
      • get min()
      • get name()
      • get range()
      • get [Symbol.toStringTag]()
    • Properties
      • static template
      • #max?
      • #min?
    • Methods
      • static define()
      • static isRangeError()
  • RangeErrors {}
    • Overview
    • Generic type variables
    • Constructor
    • Methods
      • get()
      • getErrors()
      • set()
    • Example usage
  • TypeError {}
    • Overview
    • Generic type variables
    • ★ Constructor
    • Accessors
      • get name()
      • get type()
      • get [Symbol.toStringTag]()
    • Properties
      • static template
      • #type?
    • Methods
      • static define()
      • static isTypeError()
  • TypeErrors {}
    • Overview
    • Generic type variables
    • Constructor
    • Methods
      • get()
      • getErrors()
      • set()
  • ValidationError {}
    • Overview
    • Generic type variables
    • ★ Constructor
    • Accessors
      • get name()
      • get [Symbol.toStringTag]()
    • Methods
      • static define()
      • static isValidationError()
  • ValidationErrors {}
    • Overview
    • Generic type variables
    • Constructor
    • Methods
      • get()
      • getErrors()
      • set()
  • Change log
    • Keep a changelog
    • CHANGELOG.md
    • v3.0.0-rc
  • GIT
    • Commit
    • Semantic Versioning
  • License
    • MIT
  • Social
    • Gettr
    • Twitter
    • YouTube
  • Contact
    • ⋯ Chat
    • @ Email
    • ✆ Phone
  • Donate
    • ฿ Cryptocurrency
    • $ Fiat
Powered by GitBook
On this page
  • CommonErrors.prototype.throw()
  • Generic type variables
  • Parameters
  • Return type
  • Example usage

Was this helpful?

Edit on GitHub
  1. CommonErrors {}
  2. Methods

throw()

Throws an error of the given identification

Previoushas()NextisAllowedId()

Last updated 3 years ago

Was this helpful?

CommonErrors.prototype.throw()

Throws an error of the given if the unique id was provided in the .

common-errors.class.ts
public throw<ErrorId extends Id>(id: ErrorId): void {
  if (this.isAllowedId(id)) {
    throw this.errors.get(id);
  }
}

Generic type variables

ErrorIdextends

A generic type variable ErrorId constrained by the generic type variable of the object indicates the type picked from the and its exact type is useful in picking the specific error from the storage.

Parameters

id:

The unique identification of a generic type variable to remove the error from the object.

Return type

this

Example usage

// Example usage.
import { CommonErrors } from '@angular-package/error';

// Define new `TestClass` to add error to the map storage.
export class TestClass<Id extends string> extends CommonErrors<Id> {
  public get errors(): Map<Id, any> {
    return super.errors;
  }
  public set<ErrorId extends Id>(
    problem: string,
    fix: string,
    id: ErrorId
  ): this {
    this.errors.set(id, new Error(problem, fix, id));
    return this;
  }
}

// Initialize the `TestClass`.
const generalErrors = new TestClass('EG: 4332', 'EG: 4331', 'EG: 4330');

// Set the errors.
generalErrors
  .set(
    'Bad parameter type, detected number',
    'Provide proper type, the `string`',
    'EG: 4330'
  )
  .set(
    'Detected numbers',
    'Provide only letters',
    'EG: 4331'
  );


try {
  // Throw the specified EG: 4330 error.
  generalErrors.throw('EG: 4330');
} catch (e) {
  if (e instanceof Error) {
    e.fix; // Provide proper type, the `string`
    e.message; // ProblemEG: 4330: Bad parameter type, detected number => Fix: Provide proper type, the `string`
    e.name; // Error
    e.problem; // Bad parameter type, detected number
    e.template; // Problem{id}: {problem} => Fix: {fix}
    e.id; // EG: 4330
  }
}
constructor
CommonErrors
id
ErrorId
ErrorId
Id
Id
Id