Tôi có khá một vài nơi trong ứng dụng iPhone của tôi với một dòng như thế này:Thay hủy bỏ() cho các lỗi chưa được giải quyết trong iPhone/CoreData
if (![context save:&error]) {
/*
Replace this implementation with code to handle the error appropriately.
abort() causes the application to generate a crash log and terminate.
You should not use this function in a shipping application, although
it may be useful during development. If it is not possible to recover
from the error, display an alert panel that instructs the user to quit
the application by pressing the Home button.
*/
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
Tôi đang sắp xếp của thua lỗ vào những gì để thực sự thay thế hủy bỏ() trong một ứng dụng sản xuất. Tôi không cho rằng có bất kỳ cách đơn giản nào để cho phép thiết bị của người dùng gửi lại lỗi cho bạn. Thực hành tiêu chuẩn ở đây là gì?
Tôi đồng ý với Don. Ít nhất bạn nên trình bày một thông báo cho người dùng với các chi tiết về những gì đã xảy ra. Có lẽ một tùy chọn để gửi báo cáo cho bạn để bạn có thể khắc phục sự cố trong bản phát hành tiếp theo. Có nói rằng, những lỗi này * sẽ * không bao giờ xảy ra trong tự nhiên. Lỗi với dữ liệu cốt lõi, theo kinh nghiệm của tôi, hầu như luôn luôn xảy ra trong phát triển nếu thử nghiệm đầy đủ đã được tiến hành. Vấn đề duy nhất tôi đã thấy trong tự nhiên với Core Data trực tiếp liên quan đến việc di trú và thường là trên màn hình nền. –
Vâng, tôi đã lo lắng đây là một trong những câu hỏi "không có câu trả lời thực sự". :) Theo tính toán của tôi, không có lỗi nên được ném, có nghĩa là nếu có, tôi là sai về một cái gì đó ... mà sẽ được disconcerting. Cảm ơn mọi người! – AndrewO