Re: опять про assert-ы
От: _FRED_ Черногория
Дата: 02.04.08 13:27
Оценка: +1
Здравствуйте, Odi$$ey, Вы писали:

_FR>> пользователь моих биллиотек, для которого ассерт в _моём_ коде — означает (и правильно!) _мою_ ошибку,


OE>почему правильно-то? всю жизнь, и правильно, assert в коде библиотеки означал, что ее неправильно используют, не так как задумал автор


Ну это только си++-нутые так делают (кстати, а как часто в stl ассерты написаны и по каким случаям) (я больше нигде не видел :о)), потому что по-другому не хотят и не могут. Ну не принято почему-то у С++ — ников проверять аргументы при вызове (кстати, почему? банальная лень? экономия тактов на сравнениях?), а тут, в .NET, принято и этим надо пользоваться.

В чём отличие исключения от ассерта? Для меня — именно то, что ассертом я проверяю собственные ошибки (нарушение инвариантов) или, например, то, что системные\сторонние библиотеки делают именно то, что сказано у них в документации\проверено на личном опыте, то есть ассерты срабатывают тогда, когда надо менять тот код, в котором написан ассерт. А для тех ситуаций, когда мне надо сказать, что меня используют не так, как я ожидаю, я бросаю исключения "наружу". Мне это кажется правильным. Интересно, как поступают другие?

Кстати, не изменяет ли мне склероз, и не писал ли об этом Майерс и Со? Нет под рукой книги…

P.S. Может, отделим ветку?
... << RSDN@Home 1 alpha 3 rev. 0>>
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.