![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| boraldo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 21.10.2008 Репутация: нет Всего: нет |
У меня многопоточная программа. Каждый поток имеет метод run такого типа :
try { int a = 1 / 0; } finally { System.exit(0); } В блоке try я выполняю действия (конечно не 1\0). Потоки таковы, что просто сам по себе он никогда не остановится. В случае возникновения ошибки я хочу, чтобы ошибка распечаталась в консоль, как обычно, а после этого все остальные потоки (thread) закрылись. Закрытие потоков я делаю методом System.exit(0); Итак, вопрос. Почему при выполнении такого кода ошибка не попадает в консоль? Как это исправить? Скажу сразу, что я не хочу добавлять catch(RuntimeException re) ибо считаю это порнографией. |
|||
|
||||
| rygel |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 21.9.2007 Где: Харьков Репутация: 6 Всего: 7 |
System.exit терминейтит виртуальную машину до того как она успевает распечатать стектрейс. почему бы явно в finally не распечатать ошибку?
|
|||
|
||||
| AxNe0 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 24.4.2006 Где: St. Petersburg Репутация: 4 Всего: 5 |
rygel, чтобы в finally распечатать трейс, надо его откуда-то получить ;) а получить неоткуда.
boraldo, а что порнографического в таком catch'e ? в принципе RuntimeException'ы - это в большинстве случаев косяки кода, и уж если они случаются, то это гораздо более порнографическое А если по делу, предлагаю в catch блоке выводить stacktrace, бросать какой-то checked exception, а в потоке main его перехватывать и завершать работу как душе угодно |
|||
|
||||
| rygel |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 21.9.2007 Где: Харьков Репутация: 6 Всего: 7 |
|
|||
|
||||
![]()
|
| Правила форума "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. |