2010-01-20 24 views
8

Tôi đang cố gắng xử lý lỗi chung cho ứng dụng iPhone, đưa người dùng đến màn hình khôi phục bất kỳ khi nào có lỗi chung trong ứng dụng mà không đặt khối thử/nắm xung quanh mọi phương thức trong ứng dụng.Thay thế cho NSSetUncaughtExceptionHandler trên iPhone

Sử dụng NSSetUncaughtExceptionHandler không hoạt động vì ứng dụng chấm dứt sau khi trình xử lý được chạy.

Có cách nào để thay đổi hành vi này hoặc sử dụng bất kỳ trình xử lý nào khác sẽ nắm bắt ngoại lệ nói chung và không khiến ứng dụng thoát ra sau đó không?

Và xin vui lòng, không có câu trả lời về việc đó là một ý tưởng tốt hay xấu.

+0

Tôi cũng đang theo cách tương tự như giữ cố gắng nắm bắt các khối trong mọi phương pháp mà dường như không phải là một ý tưởng gud. bạn đã giải quyết vấn đề này như thế nào / – siva

Trả lời

11

Áp phích ban đầu có thể đã giải quyết được sự cố của anh ấy ngay bây giờ. Tuy nhiên, đối với bất kỳ ai gặp phải vấn đề này trong tương lai ...

Matt Gallagher đã viết một ngoại lệ tuyệt đối post về việc bắt ngoại lệ và tín hiệu một vài tháng sau khi câu hỏi này được đăng. Tôi thấy nó có nhiều thông tin hơn số answer được Scott đề cập ở trên. Cụ thể, bài đăng của Matt mô tả cách thử khôi phục (nếu thích hợp) cho phép ứng dụng của bạn tiếp tục chạy và thậm chí hiển thị UIAlertView với thông tin lỗi nếu bạn muốn (gợi ý: nó liên quan đến việc tạo vòng lặp chạy mới).

2

Điều này đã được trả lời here. Bạn có thể đọc thêm về chuỗi trả lời và bắt các ngoại lệ here. Việc viết lên từ 1 thực sự tốt và giải thích cách xử lý những gì bạn đang làm.

Các vấn đề liên quan