자바스크립트에서는 예외를 Error
클래스를 통해 발생시킬 수 있다.
예외를 발생시킬 때는 throw
키워드를 사용할 수 있으며, try / catch
를 통해 예외를 처리한다.
try {
throw new Error('Something bad');
} catch(e) {
console.error(e);
}
occur-error.method.ts
export const occurErrorMethod: () => void = ():
void => {
throw new Error('Occurred Error');
};
index.ts
import {occurErrorMethod} from "./occur-error.method";
try {
occurErrorMethod();
} catch (e) {
console.error(`Error message : ${e.message}`);
}
제네릭 타입은 인터페이스나 클래스, 함수 타입 별칭 등에 사용할 수 있는 기능이다.
valuable.ts
export interface IValuable<T> {
value: T;
}
export class Valuable<T> implements IValuable<T> {
constructor(public value: T) {
}
}
print-value.ts
import {IValuable} from "./valuable";
export const printValue = <T>(v: IValuable<T>): void => console.log(v.value);
index.ts
...
import {Valuable} from "./valuable";
import {printValue} from "./print-value";
...
printValue(new Valuable<number>(1));
printValue(new Valuable<boolean>(true));
printValue(new Valuable<string>('hello'));
printValue(new Valuable<number[]>([1, 2, 3]));