[typescript] try/catch 문을 사용하여 비동기 코드의 예외를 처리하는 방법은 어떻게 되나요?
async function someAsyncFunction() {
try {
const result = await someAsyncTask();
// 비동기 작업에서 예외가 발생하지 않으면 이곳에서 결과를 처리합니다.
} catch (error) {
// 비동기 작업에서 예외가 발생하면 이곳에서 예외를 처리합니다.
console.error("An error occurred:", error);
}
}
위의 예제에서 someAsyncFunction
은 try/catch
문을 사용하여 someAsyncTask
의 완료를 기다린 후 결과를 처리하거나, 작업 중에 발생한 예외를 캐치하여 처리합니다.
async/await
구문을 사용한 함수 내에서 발생한 예외는 해당 async
함수 내에서만 캐치됩니다. 이 경우 try/catch
블록으로 예외를 처리할 수 있습니다. 그러나, try/catch
문은 Promise
체인 내부의 예외는 캐치하지 못합니다.
따라서 async/await
를 사용하는 경우, try/catch
문은 주로 해당 async
함수 내에서 발생하는 예외를 처리하는데 사용됩니다. 만약 Promise
체인에서 발생한 예외를 처리하려면 catch
메서드를 사용하여 해당 Promise
를 다루는 것이 더 적합합니다.
참고 자료: