返回 CodeWhale
error.tsx
根目录 / web / app / [locale] / error.tsx
1 "use client";
2
3 import { useEffect } from "react";
4 import { ErrorRoute } from "@/components/route-state";
5 import { recordUsage } from "@/components/usage-counting";
6
7 /**
8 * Route-level error boundary for every locale page. `reset` re-renders the
9 * segment, which is the honest retry for a server page whose data fetch
10 * failed; the shim renders the shared error plate with dictionary copy and
11 * a way home. The digest (Next's server-error id) is shown so a report can
12 * name it; the raw message is not, because it may carry internals.
13 */
14 export default function Error({
15 error,
16 reset,
17 }: {
18 error: Error & { digest?: string };
19 reset: () => void;
20 }) {
21 useEffect(() => {
22 console.error(error);
23 // Counted as one error shown; the message and digest never leave.
24 recordUsage("error_shown");
25 }, [error]);
26
27 return (
28 <div className="route-state">
29 <ErrorRoute reset={reset} digest={error.digest} />
30 </div>
31 );
32 }
33
33 lines Plain Text