¿Cuál es la mejor manera de registrar un NSError
?¿Cómo puedo ver un NSError?
- (void)checkThing:(Thing *)thing withError:(NSError *)error {
NSLog(@"Error: %@", error);
}
me da un mensaje null
¿Cuál es la mejor manera de registrar un NSError
?¿Cómo puedo ver un NSError?
- (void)checkThing:(Thing *)thing withError:(NSError *)error {
NSLog(@"Error: %@", error);
}
me da un mensaje null
En cuanto a la documentación NSError me dice que tendrá que hacer algo como:
NSLog(@"%@",[error localizedDescription]);
Esto entonces debe darle salida legible por humanos
NSLog(@"Error: %@", error);
Me da un mensaje nulo
Entonces es error
nil
, no una instancia NSError.
Gracias, esto ayuda mucho. Pensé que estaba haciendo algo mal. ¿Cuál es la mejor manera de registrar un error, entonces? –
¿No necesita desreferenciar el 'NSError **' también? – fbrereto
La pregunta original no tenía dos asteriscos. Abizern agregó el segundo asterisco; He revertido su edición, porque no creo que tenga sentido para la pregunta real. Si fuera un argumento de doble asterisco, generalmente (especialmente para un NSError) sería un argumento * output *, por lo que el método no debería intentar recuperar un objeto a través de ese puntero. –
Aquí es un método en bruto que utilizo para registrar los errores, mientras desarrollando; (No para Cacao-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 se encarga de mostrar el error.
Por supuesto, eso solo es útil en la Mac. UIKit no tiene NSAlert. –
¡Sí! No leí las etiquetas. Gracias por la reversión en la edición. Todavía creo que esta respuesta es útil para otros, siempre que tomen nota de que es solo para el escritorio. – Abizern
Bueno, él necesita tener un error para obtener una descripción de, primero. Y la 'descripción' del error (al menos en la actualidad) contendrá al menos el dominio y el código del error, que puede ser más útil en un mensaje de registro de la consola. –
Gracias, había visto esta función, pero no entendía por qué el registro me estaba dando (nulo). –