gpt4 book ai didi

c - 我的库应该处理错误指针输入的 SIGSEGV 吗?

转载 作者:太空狗 更新时间:2023-10-29 16:40:43 26 4
gpt4 key购买 nike

我正在编写一个以 FILE * 指针作为输入的小型库。

如果我立即检查这个 FILE * 指针并发现它导致段错误,那么处理信号、设置 errno 并优雅地退出是否更正确?还是什么都不做并使用调用者安装的信号处理程序(如果有的话)?

普遍的看法似乎是“库永远不应该导致崩溃”。但我的想法是,既然这个特定的信号肯定是调用者的错,那么我不应该试图向他隐瞒该信息。他可能安装了自己的处理程序,以自己的方式对问题使用react。可以使用 errno 检索相同的信息,但设置 SIGSEGV 的默认配置是有充分理由的,并且通过强制调用者处理他的错误或通过崩溃并保护他免受进一步损坏来向上传递信号尊重这一理念.

您是否同意此分析,或者您是否认为在这种情况下有一些令人信服的理由来处理 SIGSEGV?

最佳答案

接管处理程序不是图书馆的事,除非明确要求,否则我会说这有点冒犯他们。为了最大限度地减少崩溃,库可能会在一定程度上验证他们的输入。除此之外:垃圾输入——垃圾输出。

关于c - 我的库应该处理错误指针输入的 SIGSEGV 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8977633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com