assert: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (template:command argument fix)
m (Text replacement - "[Rr]oehre" to "RoehrenRadio")
 
(52 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= arma1
|version1= 1.00


|1.00|= Game version
|game2= arma2
____________________________________________________________________________________________
|version2= 1.00


| 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.
|game3= arma2oa
|version3= 1.50


If script was pre-processed with [[preprocessFileLineNumbers]], it will also show/log the error line number and the file name.
|game4= tkoh
|version4= 1.00
 
|game5= arma3
|version5= 0.50


|DESCRIPTION=
|gr1= Program Flow
____________________________________________________________________________________________


| '''assert''' condition |SYNTAX=
|descr= 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.


|p1= condition: [[Boolean]] |= Parameter 1
If script was pre-processed with [[preprocessFileLineNumbers]], it will also show/log the error line number and the file name.


| [[Boolean]] - mirrors condition |RETURNVALUE=
|s1= [[assert]] condition
____________________________________________________________________________________________
 
|x1= <code>[[assert]] (1>2);</code>


[[Image:PreprocessFile.jpg]]
|p1= condition: [[Boolean]]


|= Example 1
|r1= [[Boolean]] - mirrors condition


|x2= Check function params (Faster alternative to [[BIS_fnc_param]])<code>some_func = {
|x1= <sqf>assert (1 > 2);</sqf>
_0 = _this [[select]] 0;
_1 = _this [[select]] 1;
_2 = _this [[select]] 2;
if (![[assert]] (
[[typeName]] _0 == "ARRAY" &&
[[typeName]] _1 == "STRING" &&
[[typeName]] _2 == "SCALAR"
)) [[exitWith]] {<nowiki>/*</nowiki>optional error logging<nowiki>*/</nowiki>};
[[hint]] "Alright!";
};
[1,2,3] [[call]] some_func; //assert error
<nowiki>[</nowiki>[1],"2",3] [[call]] some_func; //Alright!</code>|= Example 2


____________________________________________________________________________________________
[[File:PreprocessFile.jpg]]


| [[try]], [[catch]], [[throw]], [[halt]], [[diag_captureFrame]], [[diag_captureSlowFrame]], [[diag_logSlowFrame]]|SEEALSO=
|x2= Check function params (Faster alternative to [[BIS_fnc_param]])
<sqf>
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!
</sqf>


|seealso= [[try]] [[catch]] [[throw]] [[halt]] [[diag_captureFrame]] [[diag_captureSlowFrame]] [[diag_logSlowFrame]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= RoehrenRadio
<!-- Note Section BEGIN -->
|timestamp= 20100515000100
<dd class="notedate">Posted on May 15, 2010 - 0:01
|text= Returns false, if condition is false, and returns true, if condition is true.
<dt class="note">'''[[User:Roehre|Roehre]]'''<dd class="note">Returns false, if condition is false, and returns true, if condition is true.
}}
<!-- Note Section END -->
</dl>
 
<h3 style="display:none">Bottom Section</h3>
 
[[Category:Scripting Commands|ASSERT]]
[[Category:Scripting Commands ArmA|ASSERT]]
[[Category:Command_Group:_Program_Flow|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]

Latest revision as of 10:49, 8 April 2024

Hover & click on the images for description

Description

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.
Groups:
Program Flow

Syntax

Syntax:
assert condition
Parameters:
condition: Boolean
Return Value:
Boolean - mirrors condition

Examples

Example 1:
assert (1 > 2);
PreprocessFile.jpg
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!

Additional Information

See also:
try catch throw halt diag_captureFrame diag_captureSlowFrame diag_logSlowFrame

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
RoehrenRadio - c
Posted on May 15, 2010 - 00:01 (UTC)
Returns false, if condition is false, and returns true, if condition is true.