gpt4 book ai didi

c - 将 errno 与用户定义的错误代码一起使用?

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:51 25 4
gpt4 key购买 nike

鉴于thisthis ,这是我的策略(类似于 win32 api 函数):

1)预留成功返回值(非零值),错误(0)。

2) 使用 errno,perror 来提供更多信息。关于错误类型。

3)使用参数返回值。

如果可以,那么我可以定义自己的错误代码(不与现有代码冲突)并使用 errno 设置/检索它们。我不认为现在我可以将 perror 与这些代码一起使用(它总是会说:未知错误)但我可以定义我自己的基于开关案例的函数来返回错误代码的描述。我可以定义我自己的变量但是已经做了很多工作来制作 errno modern and thread safe.

例如:

int val;
if(MyPop(&val))
pintf_s("\n %d popped from my stack. . .",val);
else
printf_s(Myperror());

谢谢。

最佳答案

我认为现在没有人会设计像errno 这样的错误处理系统。即使 errno 是使用线程局部存储实现的,它仍然远非理想 — 它本质上仍然是一个全局变量。

由于您没有成长为基于异常的错误处理,我建议将错误代码作为函数返回值返回。这允许您使用堆栈,避免全局状态,因此对线程和重入调用模式具有弹性。

关于c - 将 errno 与用户定义的错误代码一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6438133/

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