[typescript] try/catch 문을 사용하여 동기적인 예외만 처리할 수 있나요?
다음은 TypeScript에서 try/catch
문을 사용하는 예제입니다:
try {
// 예외가 발생할 수 있는 코드
throw new Error('예외가 발생했습니다.');
} catch (error) {
// 예외를 처리하는 코드
console.error('예외가 발생했습니다: ' + error.message);
}
위 예제에서 try
블록 내부의 코드에서 예외가 발생하면, 해당 예외가 catch
블록으로 전달되어 처리됩니다.
위의 예제는 동기적인 예외 처리를 다룬 것이며, TypeScript에서 비동기 예외를 처리할 때는 try/catch
문을 직접 사용할 수 없습니다. 대신, async/await
나 Promise
를 사용하여 비동기 예외를 처리해야 합니다.
프로미스를 사용한 비동기적인 예외 처리는 아래와 같이 할 수 있습니다:
async function runAsyncCode() {
try {
await someAsyncFunction();
} catch (error) {
console.error('비동기 예외가 발생했습니다: ' + error.message);
}
}
위의 예제에서 someAsyncFunction
은 비동기 함수이고, await
키워드를 사용하여 해당 함수의 실행이 완료될 때까지 기다립니다. 그리고 발생한 예외는 catch
블록에서 처리됩니다.
참고 자료: