Лечим сообщение: в приложении произошла ошибка на Андроид

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

Почему вылетает ошибка “в приложении произошла ошибка”.

Ошибка “в приложении произошла ошибка” часто вылетает, как не странно, потому что в приложении произошел сбой. Сбой происходит по разным причинам, но в 99% случаев это происходит по вине программиста, а не пользователя. Сейчас объясню почему. Прежде чем начать ругать программистов, я скажу, что всю эту пиздятину про очистку и перезагрузки я тоже напишу.

Вина программиста

Почему ошибка в приложении — это вина программиста? Потому что этот гандон ее не обработал. Задача любого еблана, который пишет приложение на Андроид, уберечь пользователя от подобной хуйни. Если пользователь будет постоянно видеть “в приложении произошла ошибка”, значит у пользователя сложится негативное впечатление о программе, а значит ему в google play наебенят кучу едениц.

Этой хуйне учат на первых занятиях по программированию на любом языке и под любую архитектуру. Телефон, комп, утюг, поебать. Задача программиста и отдела тестирования (если он есть) обработать все нестандартные ситуации, при которых падает приложение. Пользователь не должен видеть сообщение об ошибке, потому что ситуация, при которой она возникает, нестандартная и должна быть обработана.

Пример. Допустим приложению не хватает места на телефоне для записи своих данных.  Так вот, при попытке записи в память, оно не должно падать, а должно сразу проверить наличие свободного места, а потом сообщить пользователю, что он ебанат и, ясен хер, ничего никуда не записывать. Такие ситуации должны быть протестированы. Тогда почему они не протестированы?

Ошибки в приложениях

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

2. Потому что программа написана 8-классником на коленке. Очень частая ситуация. Программу написали на отъебись, никто там никогда ничего не тестировал и не будет. Вылетает с ошибкой? Перезапусти или, ну извини, значит тебе не судьба.

3. В приложении произошла ошибка, потому что у ебаната пользователя весь телефон в малварях. Тоже частая ситуация. В ней пользователь сам наставил на свой телефон всякого говна и она везде показывает рекламу, вылетает нон-стоп, чето пишет на экране. Пользователь сам не знает, что происходит и ищет виновника. А еблан как раз сидит в это время в 30 сантиметрах от телефона.

4. Ошибка вылетает в приложении вирусе или малваре. Пользователь поставил вирусное приложение, а в них никто и никогда не думает об обработке ошибок. Нахер надо. Установи антивирус и проверь телефон на вирусы.

Решаем проблему “в приложении произошла ошибка”

Несмотря на то, что если перезапуск приложения не дал результата и оно продолжает падать, можно немножко изъебнутся и попробовать все решить.

1. Во-первых, сносим к хуям все то, что приложение записало в память телефона. Для этого нужно очистить все данные приложения. Я для этого даже статью написал: “Как сбросить приложение до изначальных настроек”. Пробуй и, возможно, тебе воздасться.

2. Во-вторых, если у тебя в системе установлено хранение данных на СД карте, то доставай ее и пробуй запустить приложение без карты. Если у тебя какой-то древний Андроид 4.4 и само приложение лежит на СД карте, то ты сам еблан. Сдай телефон в утиль и купи что-то, хотя бы на Андроид 7. Нищебродов с говнотелефонами, которые отжимают каждый мегабайт в памяти телефона, даже обсуждать не хочется.

3. Вытекает из второго. Если в телефоне свободное место равно 0, то освободи место в телефоне.

4. Все просто и банально. Удали и установи приложение заново, возможно при следующем запуске ты не увидишь “в приложении произошла ошибка”.

5. Перезагрузи телефон. Хуй его знает, что за сервисы сейчас крутятся в телефоне. Давай-ка ребутнем это все на всякий случай. Это не панацея, но а вдруг. Разблокируй телефон, жми и удерживай кнопку питания. Когда появится пункт меню — выбираем перезагрузить:

6. Попробуй сделать сброс на заводские настройки.

Сброс настроек находится в настройках -> “Система” -> Дополнительно -> Сброс настроек -> Удалить все данные. ВСЕ ДАННЫЕ БУДУТ УДАЛЕНЫ К ХУЯМ АЛЯРМ АЛЯРМ

7. Такие вещи, как  протереть экран и включить и выключить фонарик я вообще не описываю в статье. Это должно было быть проделано самостоятельно. Так сказать, основа основ.

Надеюсь, мои советы помогли тебе и ты теперь не выглядишь зеленым юнцом.