我有如下圖所示在我的視圖控制器的方法:如何獲取Iphone SDK中的NSError消息?
- (void)parser:(PaymentTermsLibxmlParser *)parser encounteredError:(NSError *)error
{
NSLog("error occured");
}
在這裏,我需要證明我的警報在NSError實際的錯誤消息在任何一個建議如何得到它。
希望我能得到你們的快速回復。
在此先感謝。 Monish。
我有如下圖所示在我的視圖控制器的方法:如何獲取Iphone SDK中的NSError消息?
- (void)parser:(PaymentTermsLibxmlParser *)parser encounteredError:(NSError *)error
{
NSLog("error occured");
}
在這裏,我需要證明我的警報在NSError實際的錯誤消息在任何一個建議如何得到它。
希望我能得到你們的快速回復。
在此先感謝。 Monish。
使用[錯誤localizedDescription]這顯示錯誤消息
通常情況下,您需要使用[error localizedDescription]
來獲取要顯示給用戶的文本。
閱讀NSError文檔以獲取更多選項。
對於開發時的簡單日誌記錄,可以執行。 (這會給你 'localizedDescription' 和一切在你的日誌中的Xcode。)
用戶error.userInfo,它返回字典EX:
NSLog(@"%@",error.userInfo);
{
code = 101;
error = "invalid login parameters";
originalError = "Error Domain=NSURLErrorDomain Code=-1011 \"The operation couldn\U2019t be completed. (NSURLErrorDomain error -1011.)\"";
temporary = 0;
}
要添加到當前答案,您可以獲取失敗消息和失敗原因。
NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason]];
這將創建一個3線串發生錯誤的方法,錯誤的描述和一句話來說明錯誤的名稱:要做到這一點,你可以當與NSError提出這樣做。
如果更多的信息在NSError提供,你可以得到localizedRecoverySuggestion以及並添加到消息,像這樣:
NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason], [error localizedRecoverySuggestion]];