简体   繁体   中英

How can I view an NSError?

What's the best way to log an NSError ?

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

Gives me a null message

Looking at the NSError documentation tells me that you'll need to do something like:

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

This should then give you human readable output

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

Gives me a null message

Then error is nil , not an NSError instance.

Here's a rough method I use to log errors while developing; (Not for 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 takes care of displaying the error.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM