The [[$ERROR]] metacommand triggers a compilation error.


{{PageSyntax}}
: [[$ERROR]] MESSAGE

{{PageDescription}}
* The Metacommand does '''not''' require a comment or REM before it.
* MESSAGE is any text. Quotation marks are not required.
* When QB64 tries to compile an $ERROR metacommand a compilation error is triggered and MESSAGE is shown to the user. This is useful in [[$IF]] blocks.

===Details===
* If there is a particular situation where you know your program will not work properly, you can prevent the user compiling and give them a helpful error message instead by checking for the condition with [[$IF]].
* An [[$ERROR]] directive not inside an [[$IF]] (or [[$ELSEIF]]) block is useless because the program will never compile.

{{PageExamples}}
{{CodeStart}} '' ''
{{Cl|$IF}} VERSION &lt; 2.1 OR WINDOWS = 0 THEN
    {{Cl|$ERROR}} Requires Windows QB64 version 2.1 or above
{{Cl|$END IF}}
{{CodeEnd}}
''Output'': Compilation check failed: REQUIRES WINDOWS QB64 VERSION 2.1 OR ABOVE on line 2 (assuming your version of QB64 doesn't meet those requirements).


{{PageSeeAlso}}
* [[Metacommand]]
* [[$IF]]


{{PageNavigation}}
