Exception Handling
From Catglobe Wiki
More actions
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!"; // use throw expression in try clause to throw a specific exception to catch clause
else
print("Hello " + Name + "! Your Age is: " + Age);
}
catch(e) {
print(e); // print out: Age can not be zero!
}