{"record":{"id":"14b839d1ddf0c7f2","repo":"react/react","slug":"overrideerror-not-supported-by-this-renderer","errorCode":null,"errorMessage":"overrideError not supported by this renderer","messagePattern":"overrideError not supported by this renderer","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"packages/react-devtools-shared/src/backend/legacy/renderer.js","lineNumber":1201,"sourceCode":"      }\n    }\n  }\n\n  // v16+ only features\n  const getProfilingData = () => {\n    throw new Error('getProfilingData not supported by this renderer');\n  };\n  const handleCommitFiberRoot = () => {\n    throw new Error('handleCommitFiberRoot not supported by this renderer');\n  };\n  const handleCommitFiberUnmount = () => {\n    throw new Error('handleCommitFiberUnmount not supported by this renderer');\n  };\n  const handlePostCommitFiberRoot = () => {\n    throw new Error('handlePostCommitFiberRoot not supported by this renderer');\n  };\n  const overrideError = () => {\n    throw new Error('overrideError not supported by this renderer');\n  };\n  const overrideSuspense = () => {\n    throw new Error('overrideSuspense not supported by this renderer');\n  };\n  const overrideSuspenseMilestone = () => {\n    throw new Error('overrideSuspenseMilestone not supported by this renderer');\n  };\n  const startProfiling = () => {\n    // Do not throw, since this would break a multi-root scenario where v15 and v16 were both present.\n  };\n  const stopProfiling = () => {\n    // Do not throw, since this would break a multi-root scenario where v15 and v16 were both present.\n  };\n\n  function getBestMatchForTrackedPath(): PathMatch | null {\n    // Not implemented.\n    return null;\n  }","sourceCodeStart":1183,"sourceCodeEnd":1219,"githubUrl":"https://github.com/react/react/blob/22e4f993c7ce9373c95aef093b003f84249e2045/packages/react-devtools-shared/src/backend/legacy/renderer.js#L1183-L1219","documentation":"Legacy (React v15) renderer stub for overrideError. Toggling/throwing component errors from DevTools requires the fiber error-overlay machinery, which v15 lacks. The stub throws to signal that error overriding is unsupported on a v15 renderer.","triggerScenarios":"DevTools 'simulate error' / override-error action is dispatched to a legacy v15 renderer.","commonSituations":"Using DevTools' error-injection feature on a React 15 app, or a mixed-version page where the target element belongs to the v15 root.","solutions":["Use error overriding on React 16+ fiber components only.","Upgrade the inspected app to React 16+ to use error simulation in DevTools.","On mixed-version pages, target the v16+ root for error overrides.","Treat as expected unavailability on v15."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Error overriding needs the fiber error overlay; skip legacy renderers.\nfunction supportsErrorOverride(renderer) {\n  return Boolean(renderer && typeof renderer.overrideError === 'function' &&\n    renderer.findHostInstancesForElementID); // fiber renderer only\n}\n\nif (supportsErrorOverride(renderer)) {\n  renderer.overrideError(id, isError);\n}","typeGuard":"function isFiberRenderer(renderer) {\n  return Boolean(renderer && typeof renderer.overrideError === 'function' &&\n    typeof renderer.findHostInstancesForElementID === 'function');\n}","tryCatchPattern":null,"preventionTips":["Use error overriding only on React 16+ fiber components.","Upgrade React 15 apps to use error simulation in DevTools.","On mixed-version pages, target the v16+ root for error overrides.","Treat as expected unavailability on v15."],"tags":["react-devtools","legacy-renderer","error-overlay","react-15","unsupported-feature"],"backgroundTag":null,"analyzedSha":"22e4f993c7ce9373c95aef093b003f84249e2045","analyzedAt":"2026-08-12T22:33:25.580Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}