Help Center
Help CenterFreeBASIC

__FB_ERR__keyword

Intrinsic define (macro value) set by the compiler

Intrinsic Defineskeyworddocumented

Syntax

__FB_ERR__

Description


__FB_ERR__ indicates if -e, -ex, or -exx was specified on the compiler command line at the time of compilation of a module.

__FB_ERR__ indicates if -earray, -enullptr, or -elocation was specified on the compiler command line, or implied by use of -exx, at the time of compilation of a module.

__FB_ERR__ indicates if -edebug, -edebuginfo, or -eassert was specified on the compiler command line, or implied by use of -g, at the time of compilation of a module.

__FB_ERR__ indicates if -eunwind was specified on the compiler command line, or implied by use of -e, -ex, or -exx, at the time of compilation of a module.

__FB_ERR__ indicates if -earraydims was specified on the compiler command line, or implied by use of -exx, at the time of compilation of a module.

Returns bit-wise OR of the following values:
valueflagdescription
0no flag
1errorcheckimplied by '-e', '-ex', '-exx'
2resumeerrimplied by '-ex', '-exx'
4extraerrchkimplied by '-exx'
8arrayboundchkimplied by '-earray', '-exx'
16nullptrchkimplied by '-enullptr', '-exx'
32assertionsimplied by '-eassert', '-g'
64debuginfoimplied by '-edebuginfo', '-g'
128debugimplied by '-edebug', '-g'
256errlocationimplied by '-elocation', '-exx'
512unwindinfoimplied by '-eunwind', '-e', '-ex', '-exx'
1024arraydimscheckimplied by '-earraydims', '-exx'


__FB_ERR__ is always defined.

Remarks

Version


Differences from QB


  • New to FreeBASIC

See also


Example


'Example code to demonstrate a use of __FB_ERR__



Dim fb_err_value As Integer

fb_err_value = __FB_ERR__

If fb_err_value = 0 Then

    Print "no flag enabled"

Else

    If fb_err_value And 1 Then

        Print "'errorcheck' flag enabled"

    End If

    If fb_err_value And 2 Then

        Print "'resumeerr' flag enabled"

    End If

    If fb_err_value And 4 Then

        Print "'extraerrchk' flag enabled"

    End If

    If fb_err_value And 8 Then

        Print "'arrayboundchk' flag enabled"

    End If

    If fb_err_value And 16 Then

        Print "'nullptrchk' flag enabled"

    End If

    If fb_err_value And 32 Then

        Print "'assertions' flag enabled"

    End If

    If fb_err_value And 64 Then

        Print "'debuginfo' flag enabled"

    End If

    If fb_err_value And 128 Then

        Print "'debug' flag enabled"

    End If

    If fb_err_value And 256 Then

        Print "'errlocation' flag enabled"

    End If

    If fb_err_value And 512 Then

        Print "'unwindinfo' flag enabled"

    End If

    If fb_err_value And 1024 Then

        Print "'arraydimscheck' flag enabled"

    End If

End If

Reference

  • Documented in KeyPgDdfberr.html