Assert
 
Отладочный макрос, который останавливает выполнение программы, если выражение вычисляется в 0 (false).

Синтаксис

#define Assert(expression) If (expression) = 0 Then : fb_Assert( __FILE__, __LINE__, __FUNCTION__, #expression ) : End If

Использование

Assert( expression )

Параметры

expression
Любое допустимое условное / числовое выражение. Если expression оценивается как 0 (т.е. "false"), выполнение прекращается.

Описание

Макрос Assert предназначен для использования в отладке и работает только при установленной опции -g в командной строке FBC. В этом случае он выводит сообщение об ошибке и прекращает выполнение программы, если expression оценивается как 0.

Его обычное использование: проверка правильности значения переменных во время отладки.

Если -g не передается в fbc, макрос не генерирует никакого кода, и не имеет никакого эффекта.

Примечание: Если Assert не удается пока программа находится в графике Screen, сообщение об ошибке не будет видно, так как оно будет напечатано на графическом экране, который будет закрыт сразу после этого.

Пример

Sub foo
 Dim a As Integer
 a=0
 Assert(a=1)
End Sub

foo 

'' Если -g используется, этот код останавливается : test.bas(3): assertion failed at FOO: a=1 


Различия диалектов

  • Не доступно в диалекте -lang qb , но есть псевдоним __ASSERT.

Отличия от QB

  • Новое в FreeBASIC

См. также