Error Boundaries are class components that catch JS errors anywhere in their child tree and display a fallback UI instead of crashing the whole app. Note: They don't catch async or event handler errors.