Ассерты и контрактное программирование
С ассертами программист может проверять допущения во время работы программы. Синтакс при этом - assert(условие). Если ассерт не верен, то выполнение программы прекратиться с соответствующим сообщением об ошибке. Существует еще несколько видов ассертов в стандартном пространстве имен GLib:
assert_not_reached()
return_if_fail(bool expr)
return_if_reached()
warn_if_fail(bool expr)
warn_if_reached()
Вы можете попытаться использовать ассерты для проверки аргументов метода на null. Однако это вовсе не обязательно, т.к. Vala неявно проверяет все методы, которые не помечены ?.
Vala поддерживает базовые возможности контрактного программирования. Метод может имет предусловия(требования) и постусловия (удостоверение), которые должны пройти до и после выполнения метода соответственно:
результатом
является специальная переменная, представляющая возвращаемое значение.
Last updated