Отлов не предусмотренных исключений. Как всегда поймать ошиб

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Отлов не предусмотренных исключений. Как всегда поймать

Сообщение Mikhail_dev » 05 авг 2014, 11:09

Если это singletonто почему дефолтный конструктор не приватный (private App(){}) ?
Если вы про
[syntax=java5]public static App getInstance() {
return singleton;
}[/syntax]
то это не конструктор, это метод.
И где (в каком/каких активити) получать инстанс этого класса для отлова не отлавливаемых искл.?
Никакой инстанс уже получать не надо. Я показал как переопределить стандартный обработчик исключений и поставить свой, и в нем уже получать необходимую информацию об ошибке. Т.е. другими словами, вам вообще не надо думать и ничего нового добавлять в вашу активность. Ошибка, если она будет, она перейдет в класс CustomExceptionHandler, а там уже сами решайте что с ней делать. Можете на почту отправить, можете сохранить в файл на диске, можете сразу на собственный сервер отправить.
Но я бы наверное все таки уже отговорил от использования данного подхода. есть сайты, которые помогают делать это автоматически. Вы просто подключаете их либу, и все ошибки приходят на их сайт. Есть сайты бесплатные. Если надо, могу бросить пару вариантов (но сам я ими не пользовался, хотя ими много кто пользуется)

Аватара пользователя
Leeroy
Сообщения: 67
Зарегистрирован: 12 дек 2013, 21:25

Re: Отлов не предусмотренных исключений. Как всегда поймать

Сообщение Leeroy » 05 авг 2014, 12:51

Mikhail_dev писал(а): Если вы про
[syntax=java5]public static App getInstance() {
return singleton;
}[/syntax]
то это не конструктор, это метод.
Я не про этот метод, а про то, что обычно в паттерне синглетон конструктор класса приватный, нельзя создать класс через new.
Но я бы наверное все таки уже отговорил от использования данного подхода. есть сайты, которые помогают делать это автоматически.
Буду благодарен за ссылки, можно в лс.
Java Core -> JDBC -> GoF -> Android SDK ->...
Телепрограмма в твоем смарте Телепрограмма

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Отлов не предусмотренных исключений. Как всегда поймать

Сообщение Mikhail_dev » 05 авг 2014, 13:45

А, понял. Тут да, надо было добавить private App() {}
Буду благодарен за ссылки, можно в лс.
Постараюсь вечером, сейчас пока на работе.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Отлов не предусмотренных исключений. Как всегда поймать

Сообщение Mikhail_dev » 06 авг 2014, 15:47

Вечером не получилось. Сегодня надеюсь сбросить ссылки.
На счет приватного конструктора (private App() {}) - его нельзя делать приватным.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Отлов не предусмотренных исключений. Как всегда поймать

Сообщение altwin » 06 авг 2014, 17:52

Leeroy писал(а):
Но я бы наверное все таки уже отговорил от использования данного подхода. есть сайты, которые помогают делать это автоматически.
Буду благодарен за ссылки, можно в лс.
Зарегестрируйтесь на любом бесплатном хостинге, из приложения просто запишите ошибку в файл и положите этот файл в корень вашей папки на сервере, все необходимое для доступа вам там дадут. Все делают так, просто пути сохранения, протоколы передачи, методы обработки на сервере и отображения могут быть любого уровня сложности, но сути это не меняет... вы просто передаете результат куда -то, хоть в google drive себе положите. Хоть смс -кой отправьте... ;) А вообще есть такие штуки - https://code.google.com/p/android-remote-stacktrace/ | https://code.google.com/p/android-logging-log4j/
Изображение

ValeriusSR
Сообщения: 9
Зарегистрирован: 14 дек 2012, 09:14

Re: Отлов не предусмотренных исключений. Как всегда поймать

Сообщение ValeriusSR » 17 дек 2014, 12:33

Здравствуйте

Качнул семпл, на главной активности 2 батона.
По нажатию на "Ошибка" прога просто валится с штатным сообщением о "Принудительно закрыть"
Приходится запускать заново, и нажимать "Отправить отчет".
А в чем тогда прикол?

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Отлов не предусмотренных исключений. Как всегда поймать

Сообщение Mikhail_dev » 17 дек 2014, 12:47

Здравствуйте. А по нажатию на кнопку "Ошибка" в теме "Отлов не предусмотренных исключений. ", вы ожидали что вылетит птичка?
Ошибка валится потому что я хоть и отлавливаю ошибку, но позволяю программе упасть, ибо если вылезла ошибка, которую мы не ожидали увидеть, то не надо мешать программе упасть, потому что наша программа после неё находится в нестабильном состоянии.
Суть статьи только в том, как поймать ошибку, которая не стоит в блоках try catch. К примеру: как вы будете ловить ошибку, которую не отлавливаете?

Ответить