我正在從我的舊文件構建一個新項目。我忘了複製我的配置文件,當然它不起作用。我使用NSXMLparser
來讀取配置文件,但我沒有正確報告錯誤。錯誤處理NSXMLParser
什麼是NSXMLParser
檢測文件訪問錯誤的正確方法?
我正在使用一個錯誤的URL初始化NSXMLParser
。初始化程序返回一個有效的對象。
當我打電話給[xml parse]
時,它返回FALSE
表示有錯誤。
但[xml parserError]
方法返回null
。
我沒有看到一個好的編碼序列來檢測文件訪問錯誤。
按照要求,使用的代碼:
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{ // Does not print with missing file
NSLog(@"Location File Error %@", parseError) ;
}
-(id) initWithURL:(NSURL *) url // For my class
{
self = [super init] ;
if (self)
{
xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url] ;
xmlParser.delegate = self ;
if (![xmlParser parse])
{
NSError *error = [xmlParser parserError] ;
NSLog (@"Error parsing '%@'\n%@", url, error) ; // Error is null
}
}
return self ;
}
請爲您所做的工作添加代碼。 – ZeMoon
可以在將URL傳遞給NSXMLParser之前驗證URL嗎? –
NSURL * url = [NSURL fileURLWithPath:path]; –