例如,如果它未能调用的msgsnd/msgrcv:在Linux API或系统调用失败后,我必须处理所有errno吗?
- 如何处理错误号–什么是最好的方法是什么?
- 什么原理适用于商业产品?
- 我必须涵盖所有这些吗?
- 必须处理哪些类型的错误?我必须为EINTR编写一个信号处理程序吗?
这里是我的稻草男人代码:
RetVal = msgrcv(...);
if(RetVal == -1)
{
switch (errno)
{
case E2BIG:
...
case EAGAIN:
...
case EFAULT:
...
case EIDRM:
...
case EINTR:
...
case EINVAL:
...
case ENOMEM:
...
default:
...
}
'%m'与'strerror(errno)'具有'%s'相同,后者更便于携带。 – 2012-03-12 03:39:35