[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 블록으로 실행이 이어집니다. 이로 인해 예기치 않은 결과를 가져올 수 있습니다.

따라서, 프로미스 체이닝에서는 꼭 에러 핸들링을 제대로 처리해야 합니다.