![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
Я бы хотел в программе при возникновении Exception вызывать диалог, в котором предлагать пользователю, отправить мне ошибки, которые программа сыпет в консоль.
А как можно узнать, что появилось какое то исключение? Речь не идет только о блоках try{}catch{} хотя можно и достаточно ловить ошибки только в них, тогда можно сообщать о ошибки какому то листеру в блоке catch А как быть если вдруг возникнет исключение с делением на ноль? Такое ведь не обрабатывается? блоками try{}catch{} Это сообщение отредактировал(а) Connie - 2.7.2009, 13:09 |
|||
|
||||
| powerOn |
|
||||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Вот и ловите в try-catch.
catch (Throwable th) {} ловит все Java исключения. |
||||
|
|||||
| Connie |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
powerOn,
То есть программа, которая после запуска слушает различные action event и выполняет по ним соответствующие действия, тут все просто, но где то в этих действиях могут возникнуть исключительные ситуации, то есть мне где тот тут и нужно ловить? P.S. моя программа крайне нетребовательна, но один из пользователей довел свой диск до состояния, когда на нем осталось 4 кбт свободного места и тут и сказалась "тихая" обработка ошибок Хех, лирика какая то... |
||||
|
|||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Можно перенаправить в приложении System.err - пусть пишет не в консоль, а в вами созданный обьект PrintStream. И запустить отдельный thread , который будет читать строки сообщений из вашего PrintStream. Все неперехваченные исключения там и всплывут в виде последовательности строк, которые генерируются методом printStackTrace() . И перехваченные исключения там будут, если в блоке catch вызывается printStackTrace(). Любой вывод типа System.err.println(..) перенаправится . http://blogs.sun.com/nickstephen/entry/jav..._system_out_and Это сообщение отредактировал(а) COVD - 20.6.2009, 23:09 |
|||
|
||||
| Evgeni68 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 9.7.2007 Репутация: 2 Всего: 3 |
По-моему UncaughtExceptionHandler - то что Вам нужно. Пример.
|
|||
|
||||
| Connie |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
|
||||
|
|||||
| Connie |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
Сделал так, покритикуйте
ну и собственно окно отработки ошибок
|
||||||
|
|||||||
| ShellRaiser |
|
|||
![]() еще чуть и закоммичу ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 20.7.2007 Где: Белaрусь, Гродно Репутация: нет Всего: 1 |
вопрос, а ты на любой эксепшн хочешь повесить отправку? создай один класс занимающия ся этим к примеру ErrorReporter.send(Exception e)
или сохраняй всё в лог файл, при сбоях приложения предложи пользователю прислать тебе лог...=\ так ты сможешь просмотреть в логах не только изза чего именно этот эксепшн, а и други факторы на это повлиявшие вот только ещё есть смешной и глупый вопрос, что ты будешь делать если эксепшн будет валиться при отправке...=) если криво настроен javamail будет? |
|||
|
||||
| Connie |
|
||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
ShellRaiser, я переделал совсем все что выше понаписал, теперь это выглядит так
запускаем всю эту бодягу
Вот родитель, генерирующий всякие исключения
Обработка ошибок, если они появляются
подмена стандартного вывода ошибок
А вот стек, можно допилить, но вроде пойдет
Это сообщение отредактировал(а) Connie - 2.7.2009, 13:12 |
||||||||||||||||
|
|||||||||||||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |