Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 标准化错误代码-目标-C_Objective C_Error Handling_Nserror - Fatal编程技术网

Objective c 标准化错误代码-目标-C

Objective c 标准化错误代码-目标-C,objective-c,error-handling,nserror,Objective C,Error Handling,Nserror,我正在尝试向我的一个项目添加错误代码,如下所示: typedef enum { FSChatErrorChatManagerInUse = 101, FSChatErrorFailedToRetrieveHeader = 202, FSChatErrorFailedToGetCount = 303, } FSChatErrorCode; 然后,发送: NSError * err = [NSError errorWithDomain:@"Failed To Get Cou

我正在尝试向我的一个项目添加错误代码,如下所示:

typedef enum {
    FSChatErrorChatManagerInUse = 101,
    FSChatErrorFailedToRetrieveHeader = 202,
    FSChatErrorFailedToGetCount = 303,
} FSChatErrorCode;
然后,发送:

NSError * err = [NSError errorWithDomain:@"Failed To Get Count"
                                    code:FSChatErrorFailedToGetCount
                                userInfo:nil];
因此,当收到错误通知时,您可以看到错误的类型:

if (err.code == FSChatErrorFailedToGetCount) {
    // do stuff
}
问题: 是否有一些我应该遵循的标准错误代码语法或编号?我很难找到参考资料。

这篇文章对这个问题进行了很好的讨论:

与退出状态代码一样,NSError代码表示退出的性质 问题这些状态代码在特定错误中定义 域,以避免重叠和混淆。这些状态代码 通常由枚举中的常量定义

例如,在NSCOCAerorDomain中,错误的状态代码 NSFileManager试图访问不存在的文件导致的错误为4, 如NSFileNoSuchFileError所定义。但是,NSPOSIXERROR域中有4个 指POSIX EINTR或“中断功能”错误


因此,由于您使用的是自己的错误域,因此可以创建任何您想要的错误代码。顺便说一句,在您的示例中,您似乎误用了域值:它并不意味着包含错误消息。请使用
userInfo[NSLocalizedDescriptionKey]

我记不起任何一般性质的内容。@HotLicks-所以对于类似的内容,它们是什么数字并不重要?我知道http错误代码有一些标准,比如404找不到。如果你计划有更多的错误代码,通常最好分组分配它们——100-199、200-299、300-399,例如,基于一般类别。但是http代码是
状态代码
s,所以2xx代码表示成功,3xx代码表示重定向。。。域中应该包括什么?“错误域这可以是预定义的N错误域之一,也可以是描述自定义域的任意字符串。”有关预定义域的列表,请参阅。它只是一个字符串(最好定义为常量)来限制错误代码的范围。