2012-10-18 33 views
17

Tôi đang sử dụng ACRA (Báo cáo sự cố ứng dụng cho Android) để gửi dữ liệu khi các ngoại lệ chưa được xử lý xảy ra.Android ACRA với các trường hợp ngoại lệ được xử lý

Các phương thức như openFileOutput() yêu cầu tôi thử và bắt iOExceptions. Vì ngoại lệ nằm trong khối try try, ARCA không được kích hoạt. Tuy nhiên tôi vẫn muốn nhận và xem stacktrace. Có cách nào để đạt được điều này không?

Trả lời

27

Nếu xử lý IOException, v.v. không thực sự hợp lý (nghĩa là bạn không thể làm gì với nó), hãy quấn nó vào RuntimeException và ném nó. ACRA sẽ bắt và báo cáo điều này. Nếu bạn không muốn sụp đổ các ứng dụng, bắt và xử lý nó, sau đó sử dụng handleException() gửi báo cáo bằng tay:

ACRA.getErrorReporter().handleException(caughtException); 

Chi tiết here

+0

Có bất kỳ tùy chọn cho Prevent ACRA gửi ngoại lệ trùng lặp? (Ngoại lệ trùng lặp có nghĩa là ngoại lệ trùng lặp từ thiết bị cụ thể) –

+2

Ngoại lệ trùng lặp tại máy chủ. Bạn không thể làm điều này một cách hợp lý ở phía khách, mà không cần duy trì một cơ sở dữ liệu của tất cả các ngoại lệ * tất cả * được gửi cho đến nay. –

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