Как я могу просмотреть NSError?

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

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

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

Ответ 1

В документации NSError вам сообщается, что вам нужно сделать что-то вроде:

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

Затем это даст вам доступный для пользователя вывод

Ответ 2

NSLog(@"Error: %@", error);

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

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

Ответ 3

Вот грубый метод, который я использую для регистрации ошибок при разработке; (Не для 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 заботится о отображении ошибки.