BIS fnc error: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(better syntax naming)
m (Some wiki formatting)
 
(9 intermediate revisions by 2 users not shown)
Line 6: Line 6:
|gr1= Diagnostic
|gr1= Diagnostic


|descr= Log error message and display it (bottom of the UI). If it is called from a function, it'll include the function name before your content.<br/>
|descr= [[File:BIS_fnc_error.png|300px|right]]
Output is: "''[[profileName]]/log: ERROR: <your content>''"<br/>
Logs an error message and shows an ingame error message. The message is shown when either of the following is true:
<br/>
[[File:BIS_fnc_error.png|750px|left|An error logged by BIS_fnc_error.]]


|s1= [message, param1, ..., param9] call [[BIS_fnc_error]]
* In [[2D Editor]]
* In [[Eden Editor]] via [[BIS_fnc_3DENNotification]]
* Display {{hl|313}} ([[Eden Editor]] display) is available
* <sqf inline>profileNamespace getVariable ["BIS_fnc_init_displayErrors", false]</sqf> is set to <sqf inline>true</sqf>.


|p1= message: [[String]] - Logged message ([[format|formatted]])
'''Output format:'''


|p2= param1 - param9: [[Anything]]
* In multiplayer ([[isMultiplayer]]) the function will add the [[profileName]] in front of the message
* If <sqf inline>_fnc_error_exit</sqf> is set to <sqf inline>true</sqf> before the function call, the log message will display {{hl|HALT:}} instead of {{hl|ERROR:}}
* If function is called from within another function, the name of the parent function will be displayed. This can be overwritten by setting <sqf inline>_fnc_scriptName</sqf> to a custom value


|r1= [[String]] - displayed message
{{Feature|informative|{{hl|[[Description.ext#allowFunctionsLog|allowFunctionsLog]]}} has to be set to '''1''' in [[Description.ext]] for this function to have any effect.}}


|x1= <sqf>["Player is too far away (%1)",player distance dude] call BIS_fnc_error;</sqf>
|s1= [message, param1, ..., paramN] call [[BIS_fnc_error]]


|seealso= [[BIS_fnc_errorMsg]] [[BIS_fnc_log]] [[BIS_fnc_logFormat]]
|p1= message: [[String]] - ([[format]]ted) logged message
}}
 
|p2= param1..paramN: [[Anything]] - (Optional) [[format]] arguments, if any
 
|r1= [[Array]] in format: [message, param1..paramN]
 
|x1= <sqf>["Player is too far away (%1 metres)", round (player distance [0, 0, 0])] call BIS_fnc_error;</sqf>


<dl class="command_description">
|x2= <sqf>
// some useful function cases
if (!isServer) exitWith { ["This function must run on the server"] call BIS_fnc_error };
if (!hasInterface) exitWith { ["This function must not run on a headless machine"] call BIS_fnc_error };
if (!local _vehicle) exitWith { ["This function must run on the vehicle owner's machine"] call BIS_fnc_error };
</sqf>


<dt></dt>
|x3= <sqf>
<dd class="notedate">Posted on Aug 27, 2013</dd>
// Change rpt log to "HALT" indicating that function exited
<dt class="note">[[User:Kylania|Kylania]]</dt>
private _fnc_error_exit = true;
<dd class="note">To allow this function to log to the RPT you need to include the following in your [[Description.ext|description.ext]]:
if (exitHere) exitWith
{
"Some error message!" call BIS_fnc_error; // Output in rpt: "log: HALT: [BIS_fnc_debugConsoleExec] Some error message!"
};
</sqf>


  allowFunctionsLog=1;
|x4= <sqf>
private _fnc_scriptName = "My_Awesome_Custom_Function";
"Some error message!" call BIS_fnc_error; // Output in rpt: "log: ERROR: [My_Awesome_Custom_Function] Some error message!"
</sqf>


</dl>
|seealso= [[BIS_fnc_errorMsg]] [[BIS_fnc_log]] [[BIS_fnc_logFormat]] [[BIS_fnc_logFormatServer]]
}}

Latest revision as of 01:23, 12 February 2024

Hover & click on the images for description

Description

Description:
BIS fnc error.png

Logs an error message and shows an ingame error message. The message is shown when either of the following is true:

Output format:

  • In multiplayer (isMultiplayer) the function will add the profileName in front of the message
  • If _fnc_error_exit is set to true before the function call, the log message will display HALT: instead of ERROR:
  • If function is called from within another function, the name of the parent function will be displayed. This can be overwritten by setting _fnc_scriptName to a custom value
allowFunctionsLog has to be set to 1 in Description.ext for this function to have any effect.
Execution:
call
Groups:
Diagnostic

Syntax

Syntax:
[message, param1, ..., paramN] call BIS_fnc_error
Parameters:
message: String - (formatted) logged message
param1..paramN: Anything - (Optional) format arguments, if any
Return Value:
Array in format: [message, param1..paramN]

Examples

Example 1:
["Player is too far away (%1 metres)", round (player distance [0, 0, 0])] call BIS_fnc_error;
Example 2:
// some useful function cases if (!isServer) exitWith { ["This function must run on the server"] call BIS_fnc_error }; if (!hasInterface) exitWith { ["This function must not run on a headless machine"] call BIS_fnc_error }; if (!local _vehicle) exitWith { ["This function must run on the vehicle owner's machine"] call BIS_fnc_error };
Example 3:
// Change rpt log to "HALT" indicating that function exited private _fnc_error_exit = true; if (exitHere) exitWith { "Some error message!" call BIS_fnc_error; // Output in rpt: "log: HALT: [BIS_fnc_debugConsoleExec] Some error message!" };
Example 4:
private _fnc_scriptName = "My_Awesome_Custom_Function"; "Some error message!" call BIS_fnc_error; // Output in rpt: "log: ERROR: [My_Awesome_Custom_Function] Some error message!"

Additional Information

See also:
BIS_fnc_errorMsg BIS_fnc_log BIS_fnc_logFormat BIS_fnc_logFormatServer

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