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)
  }
}
#287

tuple 함수 메모

  • 목적: 비동기 호출의 결과와 오류를 튜플 형식으로 반환
  • 사용 예: const [error, data] = await tuple(someAsyncFunction());

동작 방식:

  1. 입력: maybePromise (Promise 또는 일반 값)
  2. 처리:
    • try 블록에서 await로 비동기 결과를 기다림
    • 성공 시: [null, 결과값] 반환
    • 오류 발생 시:
      • Error 인스턴스이면: [error] 반환
      • 그 외의 경우: [new TupleItError(error)] 반환

장점:

  • 오류 처리 간소화 (단일 체크로 오류 관리 가능)
#357