[英]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.