2010-08-10 17 views
24

estoy teniendo el método en mi controlador de vista como se muestra a continuación:¿Cómo obtener el mensaje NSError en Iphone sdk?

- (void)parser:(PaymentTermsLibxmlParser *)parser encounteredError:(NSError *)error 
{ 
    NSLog("error occured"); 
} 

Aquí tengo que mostrar el mensaje de error real en el NSError en mi alerta puede cualquiera sugerir cómo conseguirlo.

Espero recibir una respuesta rápida de ustedes.

Gracias de antemano. Monish.

Respuesta

23

uso [localizedDescription de error], que muestra el mensaje de error

43

Normalmente, querrá usar [error localizedDescription] para que el texto se muestre al usuario.

Lea la documentación de NSError para obtener más opciones.

Para el registro simple durante el desarrollo, puede hacer . (Eso le dará 'localizedDescription' y todo lo demás en su registro en Xcode.)

1

usuario error.userInfo, devuelve diccionario ejemplo:

NSLog(@"%@",error.userInfo); 
{ 
code = 101; 
error = "invalid login parameters"; 
originalError = "Error Domain=NSURLErrorDomain Code=-1011 \"The operation  couldn\U2019t be completed. (NSURLErrorDomain error -1011.)\""; 
temporary = 0; 
} 
3

Para agregar a las respuestas actuales, puede obtener el mensaje de error y el motivo del error. Para hacer eso, usted puede hacer esto cuando se le presenta una NSError:

NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason]]; 

Esto creará una cadena de 3 líneas con el nombre del método en el que se produjo el error, la descripción del error y una frase que explica el error .

Si hay más información se puede suministrar en la NSError, se puede obtener el localizedRecoverySuggestion también y añadir que el mensaje de esta manera:

NSString *message = [NSString stringWithFormat:@"%s\n%@\n%@\n%@", __PRETTY_FUNCTION__, displayRegion, [error localizedDescription], [error localizedFailureReason], [error localizedRecoverySuggestion]]; 
Cuestiones relacionadas