__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.
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
`
Version

- Since fbc 1.20.0: -earraydims indication.
- Since fbc 1.10.0: -eunwind indication.
- Since fbc 1.07.0: -earray, -enullptr, -elocation, -edebug, -edebuginfo, and -eassert indications.

Differences from QB

- New to FreeBASIC

See also

- `__FB_MT__`
- `__FB_DEBUG__`
- Compiler Option: -e
- Compiler Option: -ex
- Compiler Option: -exx
- Compiler Option: -eunwind
- Error Handling