2017-01-23 3 views
1

Я прошел через this учебник, чтобы узнать о сообщениях о сбоях Firebase. Это код, который я написал для его использования:Как поймать исключение, где бы оно ни происходило?

FirebaseApp.initializeApp(this); 

try { 
    throw new FileNotFoundException(); 
} catch (FileNotFoundException ex) { 
    FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught"); 
    String exception=ex.toString(); 
    FirebaseCrash.report(ex); 
} 

В моей консоли Firebase я вижу свою ошибку. Все работает идеально, но у меня есть один вопрос. Есть ли способ поймать какое-либо исключение, где бы оно ни происходило?

+0

Если вы беспокоитесь об исключениях, которые могут возникнуть вне любого обработчика, те также могут войти в систему без какого-либо кода. Обычно вы только поймаете те исключения, которые вы ожидаете, и вы можете зарегистрировать их, как вы показываете. –

ответ

1

Firebase Crash Reporting будет захватывать любое Исключение, которое не попадает явно и не удаляет ваше приложение. Тебе не о чем беспокоиться. Они отмечены как фатальные исключения на панели управления. Исключения, которые вы сообщаете, отмечены как нефатальные.

Как правило, вы не должны пытаться подавлять все исключения, чтобы предотвратить сбой приложения. Некоторые исключения указывают на неустранимую ситуацию или ошибку программирования, и ваш процесс приложения действительно должен уйти, чтобы предотвратить ухудшение ситуации. Попытка изменить это поведение может быть хуже для ваших пользователей, чем просмотр диалогового окна сбоя Android.

Смежные вопросы