[typescript] 타입 가드를 사용한 에러처리 방법

타입스크립트(TypeScript)에서는 타입 가드(Type Guards)를 사용하여 런타임 시에 변수의 타입을 체크하고, 해당 타입에 따라 다른 처리를 할 수 있습니다. 이를 활용하여 효과적인 에러 처리를 할 수 있습니다.

타입 가드란?

타입 가드는 특정 타입이 맞는지 런타임 시에 확인하여, 타입 안정성을 유지하고 다양한 에러를 처리하는 방법 중 하나입니다. 주로 typeof 체크, instanceof 체크, in 연산자 등을 사용하여 타입을 정확히 추론하고, 안전하게 처리할 수 있습니다.

예를 들어, 다음과 같이 타입 가드를 사용하여 에러 처리를 할 수 있습니다.

interface ErrorObject {
    message: string;
}

function isErrorObject(obj: any): obj is ErrorObject {
    return obj && typeof obj.message === 'string';
}

function handleError(obj: any) {
    if (isErrorObject(obj)) {
        console.error('Error occurred:', obj.message);
    } else {
        console.error('Unknown error occurred');
    }
}

handleError({ message: 'Something went wrong' }); // Error occurred: Something went wrong
handleError({ code: 500 }); // Unknown error occurred

위 예제에서 isErrorObject 함수는 주어진 객체가 ErrorObject 타입인지를 체크하는 타입 가드 함수입니다. 그리고 handleError 함수에서는 isErrorObject 함수를 통해 에러 객체를 처리하거나, 그 외의 경우에는 알 수 없는 에러로 처리합니다.

타입 가드를 통한 에러 처리의 장점

타입 가드를 사용하면 더 안전하고 명확한 코드를 작성할 수 있습니다. 또한, 에러 처리 로직을 타입에 따라 분리함으로써 코드를 더욱 가독성있게 만들 수 있습니다. 이러한 장점들을 통해 유지보수성이 높고 안정적인 애플리케이션을 개발할 수 있습니다.

타입스크립트를 사용한 타입 가드를 통한 에러 처리는 코드의 신뢰도를 높이고 버그를 줄이는데 도움이 됩니다.

타입 가드에 대해 더 알고 싶다면 링크를 참고하세요.