Tôi đã làm việc trên một khuôn khổ cho một số ứng dụng thực hiện ghi nhật ký đa cấp. Nó chủ yếu được sử dụng trong các ứng dụng được sử dụng trong nhà để kiểm tra truyền thông với các thiết bị khác, nhưng cũng được sử dụng trong một số ứng dụng mà chúng tôi sẽ phân phối.Có cách nào để thực thi mã sau một ngoại lệ chưa được thực hiện trong iOS không?
Có cách nào để nắm bắt ngoại lệ chưa thực hiện và thực thi nhanh mã để lưu ngoại lệ vào tệp nhật ký không? Tại thời điểm này, lớp Log chỉ đơn giản là ghi vào mỗi tệp một cách thường xuyên, xen kẽ giữa hai tệp trong trường hợp thất bại ghi, v.v. Điều này làm việc ổn, nhưng sẽ rất tuyệt nếu nó có thể thấy rằng một ngoại lệ chưa được xử lý xảy ra, viết bất kỳ nhật ký không được viết nào các mục nhập vào tệp, lưu ý rằng một ngoại lệ đã xảy ra và ghi lại chi tiết của nó và sau đó cho phép ứng dụng gặp sự cố.
Nếu có một số cách để bắt unhandled ngoại lệ ứng dụng rộng, tôi sẽ nghĩ rằng nó sẽ là một cái gì đó như:
appDidReceiveUnhandledException:(NSException *)exception
{
//write log to disk
//append exception info to log file
//rethrow exception
}
Nếu bất cứ ai có thể cho tôi cái nhìn sâu sắc hoặc gợi ý về việc có hay không này là có thể, nó sẽ được đánh giá cao.
'@try {} @catch (NSException * ex) {}' để giải cứu. Hoặc có thể một số phương pháp đang nổi lên trên 'NSException'? –
Xem [NSSetUncaughtExceptionHandler] (https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Misccellaneous/Foundation_Functions/Reference/reference.html) (mặc dù nó không đáng tin cậy lắm). –
Xem [tại đây] (http://stackoverflow.com/a/12268397/581994). –