ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Организация try-catch в Java: где лучше ловить ошибки, чтобы не потерять данные?
  #1  
Старый Сегодня, 13:10
NikitosR
Новичок
Регистрация: 17.11.2012
Сообщений: 32
С нами: 7097366

Репутация: 0
По умолчанию Организация try-catch в Java: где лучше ловить ошибки, чтобы не потерять данные?

Недавно взялся за поддержку многопоточного приложения на Java и встал вопрос, как правильно вылавливать исключения, чтобы не потерять актуальное состояние данных. Варианта два, и у каждого свои заморочки. Первый — ловить исключения прямо внутри каждого потока, чтобы оперативно реагировать на ошибки. Плюс в том, что можно локально откатить изменения только для этого потока, без влияния на остальные. Минус — появляется риск рассинхронизации, особенно если есть общие ресурсы, потому что часть данных может обновиться, а часть — нет.

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



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.