Проект, над которым я сейчас работаю, требует от меня кодирования части андроида реализации кросс-платформенной программы.
Основной набор функций встроен и включен в мое приложение через android-ndk
. Я обнаружил, что любое исключение/сбой, которое происходит в собственном коде, сообщается только сейчас и снова в лучшем случае. Когда возникает ошибка, я получаю одно из следующих действий:
- Выполняется сценарий stacktrace/memory и записывается в файл журнала. Программа исчезает (на устройстве не указывается, почему приложение больше не существует).
- Никакой stacktrace/дамп или другое указание не указано, что исходный код разбился. Программа исчезает.
- Сбой java-кода с помощью
NullPointerException
(обычно в том же месте, что и в случае с внутренним кодом, которое является огромной болью). Обычно заставляя меня тратить довольно много времени, пытаясь отлаживать, почему код Java породил ошибку, только для того, чтобы обнаружить Java-код, прекрасно, а ошибка внутреннего кода была полностью замаскирована.
Я не могу найти способ "изолировать" мой код от ошибок, которые происходят в собственном коде. Заявления Try/catch звучат без внимания. Кроме того, когда мой код попал в качестве виновника, я даже не получаю возможность предупредить пользователя, чем произошла ошибка.
Может кто-нибудь, пожалуйста, помогите мне в том, как реагировать на ситуацию с сбоем собственного кода?