gpt4 book ai didi

c - 可以在程序内部使用 EXIT_SUCCESS/EXIT_FAILURE 进行错误报告吗?

转载 作者:行者123 更新时间:2023-12-03 07:41:32 26 4
gpt4 key购买 nike

假设我有一个程序,其中有一个类似于 errno 的全局变量(名为 project_error )在其中存储过去发生的确切错误,但我还希望函数返回简单的 OK/NOK 状态以简化错误处理,因此我只检查 project_error如果返回 NOK。

如果我使用 <stdlib.h> 中定义的标准宏可以吗? ,还是更好地定义我自己的,因为这些通常意味着您实际上退出了程序?

它可能是基于意见的,但我想知道是否有任何事实上的标准或惯例。

以这种方式返回的错误可能是“输入越界”类型的无害错误,它只是拒绝用户输入并再次询问,或者是 fatal error ,需要调用者清理、发出警告并退出。这是通过读取全局变量而不是返回值来决定的。

最佳答案

正如您所说, EXIT_SUCCESS (0) 和 EXIT_FAILURE (1) 只是 stdlib 定义的宏,在 POSIX 系统上设置为这些整数,以便调用父进程只是对程序的退出状态有一个模糊的概念( glibc reference )。我想说,由于这是供您自己内部使用的,如果您使用这些确切的值,只会让读者感到困惑。更好地定义您自己的名称,以使您使用这些错误的意图仅在内部清楚。

编辑:作为评论者正确地发现我在上面括号中写的实际整数值在 POSIX 系统上也是如此。

关于c - 可以在程序内部使用 EXIT_SUCCESS/EXIT_FAILURE 进行错误报告吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54486665/

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