Root error boundary wraps entire application
Why it matters
Without a root error boundary, any unhandled React component error produces a white screen of death — the entire application unmounts silently. Users lose their context, their unsaved work, and often assume the product is broken. ISO 25010 reliability.fault-tolerance requires the system to continue operating under fault conditions; a missing root boundary violates that baseline. One null-pointer in a third-party widget can take down checkout, dashboard, and every other route.
Severity rationale
Critical because a single component failure without a root error boundary crashes the entire application for every active user simultaneously.
Remediation
Add app/error.tsx (Next.js App Router) or wrap your root component with react-error-boundary. The boundary must render a fallback — not just log — to satisfy the pass criteria.
// app/error.tsx — root error boundary
'use client'
export default function Error({
error,
reset,
}: {
error: Error & { digest?: string }
reset: () => void
}) {
return (
<div>
<h1>Something went wrong</h1>
<button onClick={reset}>Try again</button>
</div>
)
}
For non-Next.js apps, wrap your root render in src/main.tsx with <ErrorBoundary FallbackComponent={RootFallback}>.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Error Resilience Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · reliability.fault-tolerance
Taxons
History
- 2026-04-18·v1.0.0·Initial import from error-resilience·automated