[typescript] 정적 메서드와 인스턴스 메서드의 예외 처리 방식

정적 메서드와 인스턴스 메서드는 TypeScript에서 클래스에 대한 두 가지 유형의 메서드를 의미합니다. 이 두 가지 메서드는 예외 처리를 다르게 다룰 수 있습니다. 이번 글에서는 정적 메서드와 인스턴스 메서드의 예외 처리 방식에 대해 알아보겠습니다.

정적 메서드의 예외 처리

정적 메서드에서 예외가 발생하면, 해당 예외는 메서드를 호출한 즉시에 발생하게 됩니다. 이때 메서드 내부에서 발생한 예외는 외부로 전파되고, 콘솔에 오류 메시지가 출력됩니다. 따라서, 정적 메서드에서는 예외를 캐치하여 적절히 처리해주어야 합니다.

다음은 TypeScript로 작성된 간단한 정적 메서드의 예외 처리 예시입니다.

class MathOperation {
    static divide(x: number, y: number): number {
        if (y === 0) {
            throw new Error("Divide by zero error");
        }
        return x / y;
    }
}

try {
    MathOperation.divide(10, 0);
} catch (error) {
    console.error(error.message);
}

인스턴스 메서드의 예외 처리

인스턴스 메서드에서 예외가 발생하면, 해당 예외는 호출자에게 전파됩니다. 이 경우 호출자는 try-catch 문을 사용하여 예외를 처리할 수 있습니다. 또는 호출자에게 예외를 전파하여 처리할 수 있도록 할 수도 있습니다.

다음은 TypeScript로 작성된 간단한 인스턴스 메서드의 예외 처리 예시입니다.

class FileParser {
    parseFile(fileName: string): void {
        if (!fileName) {
            throw new Error("Invalid file name");
        }
        // 파일 파싱 로직
    }
}

const parser = new FileParser();
try {
    parser.parseFile("");
} catch (error) {
    console.error(error.message);
}

결론

정적 메서드와 인스턴스 메서드는 예외 처리를 다르게 다룹니다. 정적 메서드에서는 예외를 캐치하여 처리해주어야 하고, 인스턴스 메서드에서는 호출자에게 예외를 전파해서 처리할 수 있도록 할 수 있습니다.

이상으로 TypeScript에서의 정적 메서드와 인스턴스 메서드의 예외 처리 방식에 대해 살펴보았습니다.

References: