catch

From Bohemia Interactive Community
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Hover & click on the images for description

Description

Description:
Processes code when an exception is thrown in a try block. The exception caught can be found in the _exception variable.
Groups:
Program Flow

Syntax

Syntax:
tryBlock catch code
Parameters:
tryBlock: Exception Type
code: Code
Return Value:
Anything

Examples

Example 1:
try { throw "invalid argument" } catch {hint str _exception};
Example 2:
123 try { if (_this != 123) throw "invalid argument" } catch { hint str _exception };
Example 3:
The correct usage of shorthand alt syntax:
try { if (a > b) throw "Error: some error"; // OK // the command argument is static } catch { hint str _exception; }; try { _someFunc = { // ... }; if (a > b) throw (call _someFunc); // NOT OK // the command argument is dynamic // _someFunc is called first to get the value regardless of (a > b) outcome } catch { hint str _exception; }; try { _someFunc = { // ... }; if (a > b) then { throw (call _someFunc) }; /// OK // the command argument is dynamic // _someFunc is only called when (a > b) is true } catch { hint str _exception; };

Additional Information

See also:
Exception handling try throw

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