簡體   English   中英

有沒有辦法獲得 CFStreamError 的字符串描述?

[英]Is there some way to get a string description of CFStreamError?

我正在使用一個 API,它給了我一個CFStreamError (據說已經過時了,但 Apple 自己顯然不在乎。)

我知道一些值,我當然可以編寫多個嵌套的 switch 語句來將我知道的所有值轉換為字符串,但是會有一些我不知道的值。

是不是有一些方便的方法來獲取錯誤消息? 我不在乎它是否已本地化,因為無論如何它最終只會出現在我們的日志中。

處理錯誤的“舊”、前NSError方法通常涉及返回代碼,這些代碼應該由應用程序(即開發人員)內部使用,而不是呈現給用戶。

對於較新的 API,返回的NSError實際上包含呈現給用戶的信息(如果合適)。

至於CFStreamError -
CocoaDev 上有一個關於使CFStreamError人類可讀的條目:

http://cocoadev.com/CFStreamErrorCodes

基本上它涉及從CFStream Error Domain Constants手動檢查各種錯誤域。

可以在 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 錯誤:操作超時

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM