Feb. 15th, 2012

metaclass: (Default)
Один жабист утверждает что исключения надо ловить и обрабатывать, а не дать им нахрен свалится в корень вызова и пусть тот, кто вызывает, разбирается. Ну в жабе по другому сложнее, это понятно.
Но я не люблю обрабатывать исключения самостоятельно, за исключением "вывел в лог с данными приведшими к исключению и кинул дальше".
Потому что в таком случае баги становятся расходящимися. Хороший баг - это когда ВСЕ СДОХЛО, КОРОВЫ, ЗАБОРНИКИ, СТЕКТРЕЙС, МЯСО КРОВЬ КИШКИ. Умирает от входа. Сразу видно, где что надо исправлять.
А плохой баг: это когда он был, но мы его не видели, иначе как чтением логов каждый день за чаем. А хуже того - если мы исключение от него перехватили и пошли работать дальше, а в состоянии программы уже поселилось маленькое скрытое червие которое потом дальше где-нибудь приведет к еще худшим, уже непонятным ошибкам. Впрочем, такое редко бывает, если корректно работать - транзакции там при ошибках откатывать, внешние ресурсы закрывать в finally и вообще возвращаться в корректное состояние.
Но лучше все-таки вернутся в корректное состояние в finally, отписаться в лог в catch и бросить исключение дальше - пусть главный цикл оконных сообщений или там веб-сервер разбирается, у него голова больше.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 06:13 am
Powered by Dreamwidth Studios