标题说明了一切。由于 C 没有异常,我不确定如何处理错误。我想到了两者的优缺点:
ABORTING:
基本上我的意思是返回一个错误代码(将在 .h 文件中声明,可能带有自己的类似perror()函数)并中止函数,明显的优点是它可以帮助用户出错-处理,但缺点是:
- 如果函数在每次执行错误后都没有检查,并且确实发生了错误,那么随着程序的进行,它可能会导致大问题,并且用户将很难找到问题的根源。
- 查看错误代码的头文件可能会很麻烦而且很烦人。
- 错误代码可能与其他库中的错误代码或内置 C 错误代码冲突。
退出程序:
不言自明:一旦发现错误,将错误打印到stderr并退出。这样做的好处是,如果错误消息足够详细,用户将很容易知道他们的代码出了什么问题并修复它,但主要的缺点是用户将无法编写任何可以处理可能发生的错误的代码。错误,而是必须更改代码本身(当您需要输入或类似的东西时,它会成为一个更大的问题,其中有数百万可能由错误输入引起的错误)。