import React from 'react'; import { ErrorBoundary } from './ErrorBoundary'; import { PluginError } from '../domain/errors'; interface PluginErrorBoundaryProps { pluginId: string; pluginName: string; children: React.ReactNode; onPluginError?: (pluginId: string, error: Error) => void; } export function PluginErrorBoundary({ pluginId, pluginName, children, onPluginError }: PluginErrorBoundaryProps): JSX.Element { const handleError = (error: Error) => { onPluginError?.(pluginId, error); }; const renderFallback = (error: Error) => { const pluginError = error instanceof PluginError ? error : new PluginError(error.message, pluginId, pluginName, 'execute', error); return (
{pluginError.getUserMessage()}
插件ID: {pluginId}