diff --git a/src/app/error.tsx b/src/app/error.tsx index 463eb661..fe4d4948 100644 --- a/src/app/error.tsx +++ b/src/app/error.tsx @@ -13,6 +13,7 @@ import { useEffect } from "react"; import Link from "next/link"; +import { ExceptionHandler } from "@/core/errors"; import { ROUTES } from "@/router/routes"; import { Logger } from "@/utils"; @@ -29,6 +30,8 @@ export default function GlobalError({ error, unstable_retry }: ErrorProps) { log.error("[app/error.tsx]", error); }, [error]); + const errorMessage = ExceptionHandler.message(error, "Unexpected error"); + return (

- {error.message || "Unexpected error"} + {errorMessage} {error.digest ? ` (digest: ${error.digest})` : null}

diff --git a/src/app/global-error.tsx b/src/app/global-error.tsx index 8ec10f92..16589d02 100644 --- a/src/app/global-error.tsx +++ b/src/app/global-error.tsx @@ -11,12 +11,19 @@ * 因为它会替换根 layout。 */ +import { ExceptionHandler } from "@/core/errors"; + interface GlobalErrorProps { error: Error & { digest?: string }; unstable_retry?: () => void; } export default function GlobalError({ error }: GlobalErrorProps) { + const errorMessage = ExceptionHandler.message( + error, + "An unexpected error occurred.", + ); + return (

- {error.message || "An unexpected error occurred."} + {errorMessage}