[typescript] 타입스크립트에서의 비동기 작업 에러 처리 방법

타입스크립트에서 비동기 작업을 수행할 때, 에러 처리는 매우 중요합니다. 이 글에서는 타입스크립트에서의 비동기 작업 중 에러를 처리하는 방법에 대해 알아보겠습니다.

1. Promises를 이용한 에러 처리

일반적으로, Promise를 사용하여 비동기 작업을 처리할 때, thencatch를 이용해 에러를 처리합니다.

function fetchData(): Promise<string> {
  return new Promise((resolve, reject) => {
    // 비동기 작업 수행
    if (errorOccurred) {
      reject(new Error('에러 메시지'));
    } else {
      resolve('데이터');
    }
  });
}

fetchData()
  .then((data) => {
    // 데이터 처리
  })
  .catch((error) => {
    // 에러 처리
  });

2. async/await를 이용한 에러 처리

async/await를 사용하면 비동기 작업을 동기적으로 작성할 수 있으며, try/catch 블록을 사용하여 에러를 처리할 수 있습니다.

async function fetchData() {
  try {
    const data = await getData();
    // 데이터 처리
  } catch (error) {
    // 에러 처리
  }
}

3. Custom Error 클래스 활용

에러를 더욱 명확하게 다루고 싶을 때, 커스텀 에러 클래스를 활용할 수 있습니다.

class CustomError extends Error {
  constructor(message: string) {
    super(message);
    this.name = this.constructor.name;
  }
}

async function fetchData() {
  try {
    // 비동기 작업 수행
  } catch (error) {
    throw new CustomError('사용자 정의 에러 발생');
  }
}

결론

타입스크립트에서 비동기 작업을 처리할 때, Promises, async/await, 그리고 커스텀 에러 클래스를 활용하여 에러 처리를 명확하게 할 수 있습니다. 올바른 에러 처리는 안정적이고 견고한 애플리케이션을 개발하는 데 중요한 요소입니다.

참고: 타입스크립트 공식 문서