class CustomError extends Error {
name = 'CustomError'
constructor(message?: string) {
super(message)
Object.setPrototypeOf(this, CustomError.prototype)
}
}
try {
throw new CustomError('This is a custom error message.')
} catch (error) {
if (error instanceof CustomError) {
console.log('CustomError occurred:', error.message)
console.log('Error name:', error.name)
} else {
console.log('An error occurred:', error)
}
}
- https://github.com/arthurfiorette/proposal-safe-assignment-operator
- https://github.com/arthurfiorette/tuple-it
tuple 함수 메모
- 목적: 비동기 호출의 결과와 오류를 튜플 형식으로 반환
- 사용 예:
const [error, data] = await tuple(someAsyncFunction());
동작 방식:
- 입력:
maybePromise
(Promise 또는 일반 값) - 처리:
try
블록에서await
로 비동기 결과를 기다림- 성공 시:
[null, 결과값]
반환 - 오류 발생 시:
Error
인스턴스이면:[error]
반환- 그 외의 경우:
[new TupleItError(error)]
반환
장점:
- 오류 처리 간소화 (단일 체크로 오류 관리 가능)