오류 흐름 점검표

Promise 체인과 async/await 오류 처리 비교

같은 Promise 상태를 다루지만, 체인은 메서드 끝에서 오류를 모으고 async/await는 await 지점을 try/catch로 감쌉니다.

Pending아직 대기 중
Fulfilled성공 값 전달
Rejected실패 이유 전달

Promise 체인

then/catch/finally
then()

Fulfilled 값을 다음 단계로 넘깁니다.

catch()

Rejected 오류를 체인 끝에서 모읍니다.

finally()

성공과 실패 모두에서 정리 코드를 실행합니다.

async/await

try/catch/finally
async

반환값은 항상 Promise<T>가 됩니다.

await

대기 지점에서 성공 값은 꺼내고 실패는 catch로 이동합니다.

finally

try 결과와 관계없이 마무리 작업을 실행합니다.

error: unknown catch 값은 바로 믿지 말고 unknown으로 받습니다.
instanceof Error message를 읽기 전에 타입을 좁힙니다.
복구 또는 재전파 처리할 수 없으면 기본 메시지로 감싸 다시 던집니다.