Error Boundary의 포착 범위를 렌더 콜스택 안/밖이라는 정확한 축으로 가르는지, 그리고 그 경계를 넘은 비동기 에러를 어떻게 다시 React 흐름으로 끌어오는지까지 설계할 수 있는지를 본다.
Error Boundary는 자식 컴포넌트의 렌더·라이프사이클·생성자에서 동기적으로 던져진 예외를 잡아 fallback UI를 띄우는 장치다. Promise·setTimeout·이벤트 핸들러 콜백은 렌더 콜스택이 끝나고 별도 태스크로 실행되기 때문에 그때 던진 에러는 React가 추적하지 못한다. 그래서 비동기 코드는 try-catch나 .catch()로 직접 잡아 에러 상태로 끌어올린 다음에야 Error Boundary 흐름에 다시 태울 수 있다.
fetch 실패를 useState 에러 객체로 끌어올려 컴포넌트 단위 fallback을 띄워본 경험이 있다면, 왜 Error Boundary 한 장으로는 부족했는지로 이어 말할 수 있다
React Query의 throwOnError·Suspense Error Boundary 조합을 써봤다면, 비동기 에러를 다시 렌더 흐름에 태우는 구체적 사례로 풀 수 있다
이벤트 핸들러에서 던진 에러가 fallback 없이 사라져 디버깅을 해본 적이 있다면, 그 시점에 어떤 보정을 넣었는지를 답변에 녹일 수 있다
Sentry나 자체 로거를 붙이면서 window.onerror·unhandledrejection과 componentDidCatch의 역할을 분리한 경험이 있다면, 중복 없이 어떻게 책임을 나눴는지 사례로 들 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.