Cách tốt nhất để đăng nhập NSError
là gì?Tôi làm cách nào để xem NSError?
- (void)checkThing:(Thing *)thing withError:(NSError *)error {
NSLog(@"Error: %@", error);
}
Cung cấp cho tôi một tin nhắn null
Cách tốt nhất để đăng nhập NSError
là gì?Tôi làm cách nào để xem NSError?
- (void)checkThing:(Thing *)thing withError:(NSError *)error {
NSLog(@"Error: %@", error);
}
Cung cấp cho tôi một tin nhắn null
Nhìn vào các tài liệu NSError nói với tôi rằng bạn sẽ cần phải làm một cái gì đó như:
NSLog(@"%@",[error localizedDescription]);
Điều này sau đó sẽ cho bạn kết quả có thể đọc được con người
NSLog(@"Error: %@", error);
Cung cấp cho tôi một tin nhắn vô
Sau đó error
là nil
, không phải là một ví dụ NSError.
Cảm ơn, điều này giúp ích rất nhiều. Tôi nghĩ tôi đã làm sai điều gì đó. Cách tốt nhất để đăng nhập một lỗi là gì? –
Anh ta cũng không cần phải coi trọng 'NSError **'? – fbrereto
Câu hỏi ban đầu không có hai dấu hoa thị. Abizern thêm dấu hoa thị thứ hai; Tôi đã quay lại bản chỉnh sửa của anh ấy, bởi vì tôi không nghĩ rằng nó có ý nghĩa đối với câu hỏi thực tế. Nếu nó là một đối số dấu hoa thị kép, thì nói chung (đặc biệt là đối với một NSError) là một đối số * output *, vì vậy phương thức không nên cố gắng truy xuất một đối tượng thông qua con trỏ đó. –
Dưới đây là một phương pháp thô tôi sử dụng để đăng nhập lỗi trong khi phát triển; (Không phải cho ca cao chạm)
// 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 sẽ xử lý lỗi.
Tất nhiên, điều đó chỉ hữu ích trên máy Mac. UIKit không có NSAlert. –
Vâng! Tôi đã không đọc các thẻ. Cảm ơn bạn đã khôi phục nội dung chỉnh sửa. Tôi vẫn nghĩ rằng câu trả lời này rất hữu ích để bỏ lại cho người khác, miễn là họ lưu ý nó chỉ dành cho máy tính để bàn. – Abizern
Vâng, trước tiên, anh ta cần có lỗi để có mô tả. Và 'mô tả' của lỗi sẽ (hiện tại) ít nhất chứa tên miền và mã của lỗi, điều này có thể hữu ích hơn trong một thông điệp tường trình console. –
Cảm ơn, tôi đã nhìn thấy chức năng này, nhưng tôi không hiểu tại sao nhật ký lại cho tôi (null). –