Exception handling: Difference between revisions
Jump to navigation
Jump to search
(completed) |
m (corrected mistake) |
||
Line 1: | Line 1: | ||
[[Category:Armed Assault: | [[Category:Armed Assault: Editing]] | ||
In Armed Assault is implemented system of [[ | In Armed Assault is implemented system of [[Armed Assault: Scripting commands|scripting commands]] which allows your scripts react to lots of kinds of exceptions. | ||
Standard construction is: | Standard construction is: | ||
Line 7: | Line 7: | ||
//block, that can throw exception | //block, that can throw exception | ||
if (_name == "") then { | if (_name == "") then { | ||
throw " | throw "no name" | ||
} else { | } else { | ||
TitleText [format["Good morning, Captain %1.", _name], "PLAIN DOWN"] | TitleText [format["Good morning, Captain %1.", _name], "PLAIN DOWN"] |
Revision as of 19:28, 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"] }