Exception handling: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(completed)
m (corrected mistake)
Line 1: Line 1:
[[Category:Armed Assault: Scripting]]
[[Category:Armed Assault: Editing]]


In Armed Assault is implemented system of [[Armde Assault:Scripting commands|scripting commands]] which allows your scripts react to lots of kinds of exceptions.
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 "invalid _name"
         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 20: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:

Template:Box File

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"] }