[typescript] 타입스크립트에서 발생할 수 있는 예외의 종류는 어떤 것들이 있나요?
타입스크립트는 자바스크립트의 한 종류로, 정적 타입을 지원하여 개발자가 코드를 더 견고하게 유지할 수 있도록 돕습니다. 하지만 여전히 예외가 발생할 수 있습니다. 이러한 예외를 효과적으로 처리하기 위해서는 다음과 같은 주요 예외 유형을 이해하는 것이 중요합니다.
유형
1. 타입 에러 (Type Errors)
타입스크립트에서의 가장 일반적인 예외는 타입 에러입니다. 이는 잘못된 타입의 값이 사용될 때 발생하며, TypeError 예외가 throw됩니다.
const name: string = "Alice";
name = 42; // Type Error: 'number' is not assignable to type 'string'
2. 널 및 언디파인드 에러 (Null and Undefined Errors)
널 (null) 또는 언디파인드 (undefined) 값에 대한 접근 시도는 런타임 에러를 발생시킬 수 있습니다.
let user: {
name: string,
age?: number
};
console.log(user.age!); // Null or Undefined Error: Cannot read property 'age' of undefined
3. 런타임 에러 (Runtime Errors)
실행 중 예상치 못한 조건에 대해 발생하는 예외로, 타입에 관계없이 발생할 수 있습니다.
function divide(x: number, y: number): number {
if (y === 0) {
throw new Error('Divide by zero');
}
return x / y;
}
예외 처리
1. try-catch-finally 문
try {
// 예외 발생 가능한 코드
} catch (error) {
// 예외 처리
} finally {
// 항상 실행되는 코드
}
2. 예외 타입에 따른 처리
try {
// 예외 발생 가능한 코드
} catch (error) {
if (error instanceof TypeError) {
// 타입 에러 처리
} else if (error instanceof Error) {
// 일반적인 예외 처리
}
}
주의사항
- 예외 처리는 필요한 경우에만 사용하고, 과용하지 않도록 주의해야 합니다.
- 가급적이면 예외를 피하는 방향으로 로직을 설계하고, 예외 처리는 보조적으로 활용해야 합니다.
타입스크립트에서 예외를 처리하는 방법에 대한 이해는 소프트웨어의 안정성을 높이고 개발자가 코드를 더 신뢰할 수 있도록 도와줍니다.
참고 문헌: