Exception handling: Difference between revisions
Jump to navigation
Jump to search
HeliJunkie (talk | contribs) m (Added missing ";" after catch blocks. (2 times)) |
Fred Gandt (talk | contribs) m (Fred Gandt moved page ArmA: Exception Handling to Exception handling without leaving a redirect: Elimination of "ArmA" prefix) |
(No difference)
|
Revision as of 01:43, 31 July 2014
In Armed Assault exception handling is an implemented system of special scripting commands (try, catch and throw), which allows your scripts to create and to react to exceptions.
Standard construction is:
try { //block, that can throw exception if (_name == "") then { throw "no name" } else { TitleText [format["Good morning, Captain %1.", _name], "PLAIN DOWN"] ~1 TitleText [_name, "PLAIN DOWN"] } }
catch { //block, that processes an exception if (_exception == "no name") then { echo "Name wasn't entred" TitleText ["And the name isn't", "PLAIN DOWN"] } };
Note: ArmA scripting commands do not create an exception by themselves if they encounter an illegal situation (i.e. you can't use the here described exception handling for error trapping.)
The following would therefore not create a catchable exception:
try {a=1/0;} catch {hint "illegal operation";};