Jaki jest najlepszy sposób rejestrowania NSError
?Jak mogę wyświetlić NSError?
- (void)checkThing:(Thing *)thing withError:(NSError *)error {
NSLog(@"Error: %@", error);
}
daje mi null
wiadomość
Jaki jest najlepszy sposób rejestrowania NSError
?Jak mogę wyświetlić NSError?
- (void)checkThing:(Thing *)thing withError:(NSError *)error {
NSLog(@"Error: %@", error);
}
daje mi null
wiadomość
Patrząc na dokumentacji NSError mi mówi, że trzeba zrobić coś takiego:
NSLog(@"%@",[error localizedDescription]);
Powinno to wtedy daje wypisujesz czytelny ludzki
NSLog(@"Error: %@", error);
daje mi zerowy wiadomość
Następnie error
jest nil
, nie instancją NSError.
Dzięki, to bardzo pomaga. Myślałem, że robię coś złego. Jaki jest najlepszy sposób na zarejestrowanie błędu? –
Czy on też nie potrzebuje dereferencji 'NSError **'? – fbrereto
Pierwotne pytanie nie miało dwóch gwiazdek. Abizern dodał drugą gwiazdkę; Wycofałem jego edycję, ponieważ nie wydaje mi się, żeby miało to sens w przypadku faktycznego pytania. Jeśli byłby to argument o podwójnej asterysce, generalnie (szczególnie dla NSError) byłby to argument * output *, więc metoda nie powinna próbować pobrać obiektu przez ten wskaźnik. –
Oto szorstki sposób użyć do dziennika błędów podczas rozwijanie; (Nie dla kakao-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 dba o wyświetlenie błędu.
Oczywiście, jest to przydatne tylko na komputerze Mac. UIKit nie ma NSAlert. –
Tak! Nie czytałem tagów. Dziękuję za wycofanie edycji. Wciąż uważam, że ta odpowiedź jest przydatna dla innych, o ile zauważą, że jest tylko na pulpicie. – Abizern
Cóż, musi najpierw uzyskać błąd, aby uzyskać opis. A "opis" błędu będzie (obecnie) przynajmniej zawierał domenę i kod błędu, co może być bardziej przydatne w komunikacie dziennika konsoli. –
Dzięki, widziałem tę funkcję, ale nie rozumiem, dlaczego dziennik mi daje (null). –