[typescript] 제네릭 인터페이스를 이용한 다양한 예외 처리 방법

TypeScript에서 제네릭 인터페이스를 사용하면 강력한 예외 처리 기능을 구현할 수 있습니다. 이 기능을 활용하여 다양한 예외 상황을 처리하고, 안정적인 프로그램을 개발할 수 있습니다. 이번 포스트에서는 TypeScript의 제네릭 인터페이스를 활용하여 예외 처리 방법에 대해 알아보겠습니다.

제네릭 인터페이스란?

제네릭 인터페이스는 타입스크립트에서 재사용 가능한 컴포넌트를 생성하는데 도움을 주는 기능입니다. 제네릭을 사용하면 인터페이스나 함수, 클래스의 타입을 정의할 때 여러 종류의 타입에 대해 유연하게 대응할 수 있습니다.

interface Result<T> {
  success: boolean;
  data: T | null;
  error: string | null;
}

위의 코드에서 <T>는 제네릭 타입 매개변수로, 이를 활용하여 Result 인터페이스를 정의하고 있습니다.

제네릭 인터페이스를 활용한 예외 처리 방법

1. 성공 또는 실패 여부를 표현

제네릭 인터페이스를 사용하여 함수의 실행 결과를 성공 또는 실패로 표현할 수 있습니다.

function fetchData<T>(url: string): Promise<Result<T>> {
  return fetch(url)
    .then(response => {
      if (!response.ok) {
        throw new Error('Network response was not ok');
      }
      return response.json() as Promise<T>;
    })
    .then(data => ({
      success: true,
      data,
      error: null
    }))
    .catch(error => ({
      success: false,
      data: null,
      error: error.message
    }));
}

위의 예제에서, fetchData 함수는 제네릭 타입 T를 받아 Result를 반환합니다.

2. 다양한 예외 상황 처리

제네릭 인터페이스를 사용하여 여러 종류의 예외를 처리할 수 있습니다.

function processResult<T>(result: Result<T>): void {
  if (result.success) {
    console.log('Data:', result.data);
  } else {
    console.error('Error:', result.error);
  }
}

위의 코드에서 processResult 함수는 Result를 받아 성공 또는 실패에 따라 다른 동작을 수행합니다.

마무리

제네릭 인터페이스를 활용하면 다양한 예외 상황을 처리하는 강력한 방법을 구현할 수 있습니다. 이를 통해 안정적인 프로그램을 개발하고 유지보수할 수 있습니다.

제네릭 인터페이스에 대해 더 알아보고 싶다면 타입스크립트 공식 문서를 참고해 보세요.