// pages/error/index.jsx
// this should run on the server
export async function getServerSideProps() {
throw new Error("don't catch me for a 500 response");
return { props: {} };
}
export default function Index() {
return <h1>you should not see me</h1>;
}
1条答案
按热度按时间b1uwtaje1#
通常情况下,当服务器抛出一个没有显式处理的错误时,返回500响应。(请参阅:处理服务器错误)。我在下面添加了两个
app
和pages
场景。在这两种情况下,访问/error
都应该产生500响应。如果您使用的是
app
API,那么添加一个在服务器上抛出错误的页面就可以了。字符串
确保组件没有标记为客户端组件(文件顶部没有
"use client"
)。当标记为客户端组件时,错误将由客户端抛出,而不是由服务器抛出。因此不会产生500响应。如果你使用的是
pages
API,也可以做类似的事情。要在服务器上运行代码,我们使用getServerSideProps
(参见:Server-side Rendering (SSR))型