Boundary 계층
app/global-error.tsx # root layout error 잡음
app/layout.tsx
app/dashboard/error.tsx # dashboard page + 아래 잡음
app/dashboard/page.tsx
components
error.tsx — segment 별
Page 또는 descendant 의 error 가 가장 가까운 error.tsx 로 bubble. Client Component 여야 함 (hook 사용). 자기 layout 의 error 는 절대 안 잡음 — 그거 위해선 parent 에 boundary.
global-error.tsx — root layout failure 위해
app/global-error.tsx 에 살아. 자기 과 render — 깨진 root layout 통째로 대체.
Reporting
Boundary 안에서 error object 를 Sentry / Datadog / 본인 logger 로 wire. Framework 가 error.digest 줘 — server log 에 surface 된 같은 id, 그래서 user report 와 trace correlate 가능.