Skip to content
Paul Squires edited this page Oct 14, 2026 · 3 revisions

Home › Intrinsic Defines › FB_ERR

FB_ERR

Intrinsic define (macro value) set by the compiler

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:

value flag description
0 no flag
1 errorcheck implied by '-e', '-ex', '-exx'
2 resumeerr implied by '-ex', '-exx'
4 extraerrchk implied by '-exx'
8 arrayboundchk implied by '-earray', '-exx'
16 nullptrchk implied by '-enullptr', '-exx'
32 assertions implied by '-eassert', '-g'
64 debuginfo implied by '-edebuginfo', '-g'
128 debug implied by '-edebug', '-g'
256 errlocation implied by '-elocation', '-exx'
512 unwindinfo implied by '-eunwind', '-e', '-ex', '-exx'
1024 arraydimscheck implied by '-earraydims', '-exx'

__FB_ERR__ is always defined.

Remarks

Differences from QB

  • New to FreeBASIC

See also

Examples

'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

Category: Intrinsic Defines
Kind: keyword


Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.

Clone this wiki locally