Table of contents

Android

Чтобы подключить библиотеку, добавьте репозитории и зависимость в build.gradle.

allprojects { repositories { jcenter() maven { url "https://jitpack.io" } } } dependencies { implementation 'com.github.codex-team:hawk.android.catcher:v3.0' }

Для активации кэтчера добавьте токен в AndroidManifest.xml:

<manifest> <application> <meta-data android:name="hawk_catcher_token" android:value="TOKEN" /> </application> </manifest>
  • TOKEN — уникальный ключ авторизации проекта. Его можно получить после регистрации в Hawk.

Инициализируйте HawkExceptionCatcher в классе Application:

public class UseSampleApp extends Application { public HawkExceptionCatcher exceptionCatcher; public void defineExceptionCather() { exceptionCatcher = new HawkExceptionCatcher(this); exceptionCatcher.start(); } @Override public void onCreate() { super.onCreate(); defineExceptionCather(); } }
  • Context — текущий контекст приложения

Пример необработанной ошибки:

void myTask() { int d = 10 / 0; } myTask();

Такое необработанное исключение будет автоматически отправлено в Хоук в формате JSON.

Если вы обрабатываете ошибку в try/catch, её нужно отправить вручную через caught():

void myTask() { try { int d = 10 / 0; } catch (ArithmeticException e) { UseSampleApp.exceptionCatcher.caught(e); // Метод отправляет исключение в JSON-формате } } myTask();

Если в блоке try/catch просто вывести ошибку, например через printStackTrace(), она не будет отправлена в Хоук:

void myTask() { try { int d = 10 / 0; } catch (ArithmeticException e) { e.printStackTrace(); // Исключение не будет отправлено } } myTask();