Arma 3 Scripting

Command in Program Flow

assert

Also available as Markdown and JSON, or read the original wiki page.

Description

Tests a condition and if the condition is false, displays error on screen (if -showscripterrors enabled) and logs error into .rpt file. It does not interrupt the script execution.

If script was pre-processed with preprocessFileLineNumbers, it will also show/log the error line number and the file name.

Syntax

assert condition

Parameters:

Returns: Boolean - mirrors condition

Examples

Example 1

assert (1 > 2);

Example 2

Check function params (Faster alternative to BIS_fnc_param)

some_func = {
    _0 = _this select 0;
    _1 = _this select 1;
    _2 = _this select 2;
    if (!assert (
        typeName _0 == "ARRAY" && 
        typeName _1 == "STRING" &&
        typeName _2 == "SCALAR"
    )) exitWith { /* optional error logging */ };
    hint "Alright!";
};
[1,2,3] call some_func; // assert error
[[1],"2",3] call some_func; // Alright!

See also

try · catch · throw · halt · diag_captureFrame · diag_captureSlowFrame · diag logSlowFrame

Community notes

RoehrenRadio

Returns false, if condition is false, and returns true, if condition is true.