是否有一些方法来获得CFStreamError的字符串描述



我正在使用一个API,它给了我一个CFStreamError(据说是不推荐的,但苹果自己显然不在乎)

我知道一些值,我当然可以编写多个嵌套的switch语句来将我知道的所有值转换为字符串,但是会有我不知道的值。

有没有方便的方法输出错误信息?我不在乎它是否本地化,因为它最终只会出现在我们的日志中。

在nserror之前,处理错误的'旧'方式通常涉及返回代码,这些代码应该由应用程序(即开发人员)内部使用,而不是呈现给用户。

对于较新的api,返回的NSError实际上包含可以呈现给用户的信息(如果合适)。

对于CFStreamError -
CocoaDev上有一个关于使CFStreamError可读的条目:

http://cocoadev.com/CFStreamErrorCodes

基本上,它涉及手动检查CFStream错误域常量中的各种错误域。

开发者技术支持的更多信息可以在Macnetworkprog邮件列表中找到

这适用于POSIX域错误:

            if (err.domain == kCFStreamErrorDomainPOSIX) {
                DLog("POSIX err: %s", strerror(err.error));
            } else {
                DLog("domain: %d, value: %d", err.domain, err.error);
            }

例如:

2020-01-31 09:58:02.996603-0800 blah void CFWriteStreamCB(CFWriteStreamRef _Null_unspecified, CFStreamEventType, void * _Null_unspecified):26 POSIX err: Operation timed out

相关内容

  • 没有找到相关文章

最新更新