gpt4 book ai didi

c - 返回错误的首选方式是什么?

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

<分区>

我坚持为来 self 的库的公共(public) API 的函数提供错误处理工具。例如我有一些 data_source 和一个 queue 函数是 get_data 目前看起来是这样的:

typedef struct data_source data_source;

typedef struct queue queue;

/**
* Returns:
* 0 - on success
* -1 - on data source failure
* -2 - on queue overflow
*/
int get_data(data_source *ds, queue *queue);

但看看 POSIX 的 errno 方法,他们使用返回类型来指示发生了某些错误,并使用 errno 来设置错误代码。我不确定为我的库 API 使用 errno 是否是一个不错的选择,但考虑到这个想法,我会按如下方式设计函数:

/**
* Returns:
* 0 - on success
* -1 - on error and error_code is set to
* 1 - if queue overflow occurs
* 2 - if data source failure detected
*/
int get_data(data_source *ds, queue *queue, int *error_code);

第二个示例是(常见 | 比第一个更受欢迎)错误处理的 C 方法吗?

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