ая программа предоставляет нед

Автор admin Среда, 6 мая 2009 11:32

ая программа предоставляет недействительные входные данные, необходимо сообщить ей о нарушении контракта. Завершать программу все же не стоит (хотя вы имеете на это полное право, поскольку контракт был нарушен), правильнее запустить исключение. Именно в таких случаях стандартная библиотека С++ генерирует исключения, производные от logic_error, — такие, как out_of_range2. 1 В частности, он изобрел алгоритм быстрой сортировки. 2 С концептуальной точки зрения происходящее эквивалентно проверке утверждения, но поскольку выполнение программы не должно прерываться, макрос assert() в данном случае не подходит. Например, в Java 1.4 при нарушении утверждения запускается исключение. 68 Глава 2 • Защитное программирование 1 Для запоминания этого принципа существует хорошая формулировка: «Требовать не больше; обещать не меньше», впервые выдвинутая Маршаллом Клайном (Marshall Kline) и Грегом Ломоу (Greg Lomow). Поскольку предусловия могут ослабляться в производных классах, их иногда называют контравариантиъши, тогда как постусловия, наоборот, являются ковариаптпыми (кстати, это объясняет упоминание ковариантности


Комментарии закрыты.