[typescript] 프로미스 체이닝에서 에러 핸들링을 제대로 처리하지 않으면 어떤 문제가 발생할 수 있나요?
예를 들어, 다음과 같이 프로미스를 체이닝 하는 상황에서 중간에 에러가 발생한다고 가정해봅시다:
promise1()
.then(() => {
return promise2();
})
.then(() => {
// 여기서 예외 발생
throw new Error('Something went wrong');
})
.then(() => {
// 이 부분은 실행되지 않음
})
.catch((error) => {
console.error('Error caught:', error);
});
위 코드에서 promise2()
나 세 번째 then
블록에서 에러가 발생하면, 프로미스 체이닝이 중단되지 않고 catch
블록으로 제어가 이동합니다.
하지만, 만약 에러 핸들링을 올바르게 처리하지 않으면 (catch
로 예외를 잡지 않거나, 콘솔에 로깅하지 않는 등) 그 에러는 무시되고, 그 다음의 then
블록으로 실행이 이어집니다. 이로 인해 예기치 않은 결과를 가져올 수 있습니다.
따라서, 프로미스 체이닝에서는 꼭 에러 핸들링을 제대로 처리해야 합니다.