我正在从返回随机笑话的 api 中获取(使用 Nextjs 13 的fetchwith )。{cache:'force-cache'}我注意到fetch在构建过程中被调用了两次。
这是我的代码:
// page.js
import {RefreshButton} from './RefreshButton'
async function getRandomJoke(){
const res = await fetch("https://v2.jokeapi.dev/joke/Programming?type=single", {cache:'force-cache'})
const data = await res.json()
console.log("fetch called. Joke is: ", data['joke'])
return data['joke']
}
export default async function Home() {
const joke = await getRandomJoke()
return (
<div>
{joke}
<RefreshButton/>
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
这是构建日志:
[= ] info - Generating static pages (2/3)fetch called. Joke is: A programmer puts two glasses on …Run Code Online (Sandbox Code Playgroud) 标准(我使用的是 ISO C++17)中有详细记录ISO C++,整数除以 0 的结果是未定义的。这也可以从头中可用的预定义异常列表中排除零除异常看出<stdexcept>:
namespace std {
class logic_error;
class domain_error;
class invalid_argument;
class length_error;
class out_of_range;
class runtime_error;
class range_error;
class overflow_error;
class underflow_error;
}
Run Code Online (Sandbox Code Playgroud)
虽然我知道被调用函数只能检查除数是否为 0 并抛出domain_erroror overflow_error,但我想知道没有预定义零除异常的可能原因是什么。