More actions
Line 32: | Line 32: | ||
== <span style="color:#a52a2a;">'''Examples'''</span> == | == <span style="color:#a52a2a;">'''Examples'''</span> == | ||
<source lang="javascript"> | |||
Example 1: | |||
object e; | |||
string Name = "ManTu"; | |||
try { | |||
Age = 20; // The Age variable is not declared, so this line will cause exception/error. An exception will be thrown to the catch clause | |||
// And all codes below this line (Age = 20;) will not be ignored. | |||
print("Hello " + Name + "! Your Age is: " + Age); | |||
} | |||
catch(e) { | |||
print("====There 's an error with your script :)======"); | |||
print(e.ToString()); | |||
} | |||
Example 2: | |||
string e; | |||
string Name = "ManTu"; | |||
number Age = 0; | |||
try { | |||
if(Age == 0) | |||
throw "Age can not be zero!"; | |||
else | |||
print("Hello " + Name + "! Your Age is: " + Age); | |||
} | |||
catch(e) { | |||
print(e); // print out: Age can not be zero! | |||
} | |||
</source> |
Revision as of 04:18, 20 December 2011
Exception Handling (Error Runtime Handling)
An exception is an error occurs in the runtime (the excution) of program. The CGScript language uses the try/catch statement and the throw expression to implement the exception handling.
Syntax
try-catch statement
try { // codes that could throw an exception } catch (exception) { // codes that execute when exception is thrown in the try block }
- In the try clause, when a line of code cause the exception/error, the exception will be thrown to the catch clause and the codes in catch clause will process that exception. All codes below the code which cause the exception/error will be ignored.
- The exception can be any type (E.g. exception object, number, string...)
- CGScript language does not support multi catch clauses.
throw expression
throw [expression]
- The expression can be any type (E.g. exception object, number, string...)
- Used in try-catch statement only.
- If throw is used in catch clause, it will be re-throw. See below examples for information about re-throw.
See also
Examples
Example 1:
object e;
string Name = "ManTu";
try {
Age = 20; // The Age variable is not declared, so this line will cause exception/error. An exception will be thrown to the catch clause
// And all codes below this line (Age = 20;) will not be ignored.
print("Hello " + Name + "! Your Age is: " + Age);
}
catch(e) {
print("====There 's an error with your script :)======");
print(e.ToString());
}
Example 2:
string e;
string Name = "ManTu";
number Age = 0;
try {
if(Age == 0)
throw "Age can not be zero!";
else
print("Hello " + Name + "! Your Age is: " + Age);
}
catch(e) {
print(e); // print out: Age can not be zero!
}