繁体   English   中英

如何在C(++)中定义自定义错误代码

[英]How to define custom error codes in C(++)

我拼命想用C(++)定义自定义错误代码。

至于我正在研究的项目,禁止使用Exceptions和Signals以及任何其他可以分配动态内存的方法。

我对某些产生类似错误的方法使用了标准错误代码,但对于某些方法,错误是由OS提供的标准错误代码所特定的。

我还在我的系统中搜索了错误字符串但无法找到错误消息O_O无论如何定义在哪里?

所以我正在寻找任何允许我定义自定义错误代码(例如666)和对应错误消息(“撒旦声明错误!”)的方法,这些方法将使用strerror输出。 这是可能的还是我必须干涉一些与系统相关的文件?

最好的问候,ahnimuhs

如果将枚举声明为类型,则可以满足typesafety传播的域。

然后你可以提供一个函数来访问描述作为char缓冲区(给定一个locale?,当前的语言环境?)。

class t_mon_io_error {
public:
enum t_type {
...
  SatanDeclaredAnError = 666
...
};

static const char* Description(const t_type& pError) {
  switch(pError) {
...
}

strerror(3)一些实现允许用户定义的错误代码和标签。

您必须提供_user_strerror()函数并在__ELASTERROR之后定义错误代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM