Как я могу просмотреть NSError? - PullRequest
52 голосов
/ 13 октября 2009

Какой лучший способ зарегистрировать NSError?

- (void)checkThing:(Thing *)thing withError:(NSError *)error {
    NSLog(@"Error: %@", error);
}

Дает мне null сообщение

Ответы [ 3 ]

110 голосов
/ 13 октября 2009

Просмотр документации NSError говорит о том, что вам нужно сделать что-то вроде:

NSLog(@"%@",[error localizedDescription]);

Это должно дать вам читабельный вывод

19 голосов
/ 13 октября 2009
NSLog(@"Error: %@", error);

дает мне нулевое сообщение

Тогда error - это nil, а не экземпляр NSError.

2 голосов
/ 13 октября 2009

Вот грубый метод, который я использую для регистрации ошибок при разработке; (Не для Cocoa-touch)

// Execute the fetch request put the results into array
NSError *error = nil;
NSArray *resultArray = [moc executeFetchRequest:request error:&error];
if (resultArray == nil)
{
    // Diagnostic error handling
    NSAlert *anAlert = [NSAlert alertWithError:error];
    [anAlert runModal];
}

NSAlert заботится о отображении ошибки.

...