C程序错误报告?

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

在寻找一种方法来提示C错误信息

struct queue *q = malloc(sizeof(*q));
if (NULL == q) {
    /* malloc failed. now what ? */
    return NULL; /* maybe ? */
}

这个例子返回NULL

void *get_data()
{
    /* stuff */

    /* Error detected. NULL is a valid return, now what ? */

    /* stuff */
}

leosslycleosslyc提问于
鲁大师回答于
int get_data(void **ptr)

如果没有明显的“错误返回”,那么可能您的输出值不应该是返回值。错误可能是一个errno,其他一些自定义的详细错误值

刺激回答于

可以将errno分为两个部分...一个模块号和一个模块错误代码。

eg.
#define MODULE_NAME_error_code ((MODULE_NUMBER << 16) | (error_code))

扫码关注云+社区