Exception handling: Difference between revisions
Jump to navigation
Jump to search
m (corrected mistake) |
m (condition corrected) |
||
Line 27: | Line 27: | ||
{{Box File|.../fireBomb.sqs|<pre> | {{Box File|.../fireBomb.sqs|<pre> | ||
_car = _this select 0 | _car = _this select 0 | ||
if (_car | if (crew _car == 0) then { | ||
throw "vehicle empty" | throw "vehicle empty" | ||
} else { | } else { |
Revision as of 19:54, 22 July 2006
In Armed Assault is implemented system of scripting commands which allows your scripts react to lots of kinds of 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"] } }
Template:AnswerMe
Probably is this possible too:
try { TitleText ["Sgt. Detritus: I get bomb to his car ;-)", "PLAIN DOWN"] [jeepOne] exec "fireBomb.sqs" }
catch { if (_exception == "vehicle empty") then { TitleText ["Sgt. Detritus: He have luck, but next time I'll kill him!", "PLAIN DOWN"] } else { TitleText [format["Sgt. Detritus: Some strange error appears... %1... hmm... another time I'll get him!", _exception], "PLAIN DOWN"] }