[typescript] try/catch 문을 사용하여 동기적인 예외만 처리할 수 있나요?

다음은 TypeScript에서 try/catch 문을 사용하는 예제입니다:

try {
    // 예외가 발생할 수 있는 코드
    throw new Error('예외가 발생했습니다.');
} catch (error) {
    // 예외를 처리하는 코드
    console.error('예외가 발생했습니다: ' + error.message);
}

위 예제에서 try 블록 내부의 코드에서 예외가 발생하면, 해당 예외가 catch 블록으로 전달되어 처리됩니다.

위의 예제는 동기적인 예외 처리를 다룬 것이며, TypeScript에서 비동기 예외를 처리할 때는 try/catch 문을 직접 사용할 수 없습니다. 대신, async/awaitPromise를 사용하여 비동기 예외를 처리해야 합니다.

프로미스를 사용한 비동기적인 예외 처리는 아래와 같이 할 수 있습니다:

async function runAsyncCode() {
    try {
        await someAsyncFunction();
    } catch (error) {
        console.error('비동기 예외가 발생했습니다: ' + error.message);
    }
}

위의 예제에서 someAsyncFunction은 비동기 함수이고, await 키워드를 사용하여 해당 함수의 실행이 완료될 때까지 기다립니다. 그리고 발생한 예외는 catch 블록에서 처리됩니다.

참고 자료: