Constructor
The `CommonError` object constructor
CommonError()
CommonError()
Creates an error instance with the message built from the given problem, its solution, optional type, range, an explicit identification on the supplied or stored template.
constructor(
problem: string,
fix: string,
id?: Id,
template = CommonError.template,
additional?: { link?: string; max?: number; min?: number; type?: string }
) {
super(
CommonError.defineMessage`${problem}${fix}${id}${template}${additional}`
);
this.#fix = fix;
this.#id = id;
this.#link = additional?.link;
this.#problem = problem;
this.#template = template;
}
Parameters
Description of the problem of a string
type.
A solution to the given problem
of a string
type.
Optional unique identification to the given problem
of generic type variable Id
.
A template of error message with the replaceable {problem}
, {fix}
and optional {id}
, {link}
, {max}
, {min}
and {type}
tags.
An optional object
consists of optional link
, min
, max
, and type
properties to define the error message
.
link
- The link to read more about the thrown error replaceable on the given template
as {link}
tag.
max
- The maximum number replaceable on the given template
as {max}
tag.
min
- The minimum number is replaceable on the given template
as {min}
tag.
type
- The type indicates the expected type that isn't throwing an error or the not expected type that is throwing an error replaceable on the given template
as the {type}
tag.
Example usage
Basic usage
Example with the given required problem
and fix
.
// Example usage.
import { CommonError } from '@angular-package/error';
// Create `TestError` to extend.
class TestError<Id extends string> extends CommonError<Id> {}
// Uncaught Error: Problem: problem => Fix: fix
throw new TestError(
'problem',
'fix'
);
id
id
Example with the given id
.
// Example usage.
import { CommonError } from '@angular-package/error';
// Create `TestError` to extend.
class TestError<Id extends string> extends CommonError<Id> {}
// Uncaught Error: Problem(AE:427): problem => Fix: fix
throw new TestError(
'problem',
'fix',
'(AE:427)' // <--- Parameter `id`.
);
id
, template
id
, template
Example with the given id
and template
.
// Example usage.
import { CommonError } from '@angular-package/error';
// Create `TestError` to extend.
class TestError<Id extends string> extends CommonError<Id> {}
// Uncaught Error: problem(AE:427). fix
throw new TestError(
'problem',
'fix',
'AE:427', // <--- Parameter `id`
'{problem}({id}). {fix}' // <--- Parameter `template`
);
id
, template
, additional{ min }
id
, template
, additional{ min }
Example with the given id
, template
and property min
of additional
.
// Example usage.
import { CommonError } from '@angular-package/error';
// Create `TestError` to extend.
class TestError<Id extends string> extends CommonError<Id> {}
// Uncaught Error: (AE:427)Age must be above 9. Provide age more than 9
throw new TestError(
'Age must be above ', // Problem
'Provide age more than ', // Fix
'AE:427', // Identification
'({id}){problem}{min}. {fix}{min}', // Template
{ min: 9 } // Additional
);
id
, template
, additional{ min, max }
id
, template
, additional{ min, max }
Example with the given id
, template
and property min
and max
of additional
.
// Example usage.
import { CommonError } from '@angular-package/error';
// Create `TestError` to extend.
class TestError<Id extends string> extends CommonError<Id> {}
// Uncaught Error: (AE:427)The `age` parameter is 45. Provided `age` must be between 9 and 12
throw new TestError(
'The `age` parameter is 45.', // Problem
'Provided `age` must be', // Fix
'AE:427', // Identification
'({id}){problem} {fix} between {min} and {max}', // Template
{ min: 9, max: 12 } // Additional
);
id
, template
, additional{ min, max, type }
id
, template
, additional{ min, max, type }
Example with the given id
, template
, property min
, max
and type
of additional
.
// Example usage.
import { CommonError } from '@angular-package/error';
// Create `TestError` to extend.
class TestError<Id extends string> extends CommonError<Id> {}
// Uncaught Error: (AE:427)The `age` parameter is not a number. Provided `age` must be a number between 9 and 12.
throw new TestError(
'The `age` parameter is not a', // Problem
'Provided `age` must be a ', // Fix
'AE:427', // Identification
'({id}){problem} {type}. {fix} {type} between {min} and {max}.', // Template
{ min: 9, max: 12, type: 'number' } // Additional
);
Last updated
Was this helpful?