Re[6]: Exceptions в сеттерах
От: Mike Chaliy Украина http://chaliy.name
Дата: 01.12.08 11:35
Оценка:
Здравствуйте, mazurkin, Вы писали:

M>Mike Chaliy wrote:


>> А еще вопрос. Assert.notNull(obj) попадает в релизные билды?


M>Вообще вопрос совершенно неоднозначный и весьма интересный, по крайней

M>мере потому, что в свое время много над ним думал

M>Если мы обратимся к истории и вспомним MSVC+/Borland Delphi и иже с

M>ними, то увидим, что там существует четкое разделение release и debug
M>билдов. И в debug билдах ассерты действительно отключаются — в C++ через
M>макросы, в Delphi — вроде через сам язык.

M>Меня все время это очень удивляло. Я нахожу в этом некое недальновидное

M>лицемерие.

M>То есть мы поставляем клиенту продукт с отключенной системой внутренних

M>проверок в надежде на то, что если ошибки и возникнут, то в отсутствие
M>ассертов у нас всплывет не четкий и понятный баннер с информацией о том,
M>что мы облажались и где допустили такую ситуацию; а абстрактное окошко
M>об ошибке в модуле kerner32.dll и можно будет все списать на "глючную
M>винду", а то глядишь и все само собой рассосется. И я бы понял, если бы
M>отключение ассертов как то влияло на производительность, но ведь
M>банальные проверки на фоне других операций никаких задержек не вносят.

M>Посему я сторонник жесткой ответственности — внутренние проверки не

M>отрубать вообще никогда, кроме тех, что реально влияют на
M>производительность.

Просто в .Нет когда говорят ассеры, обычно подразумеваться дебажные ассерты. Вот меня и заинтерисовал вопрос, как с этим доло обстоит в джаве. Быстрым поиском я этого не нашел, вот и решил спросить.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
А тут я живу и пишу...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.