Difference between revisions of "Exception Handling"
(→Exception Handling (Error Runtime Handling)) |
(→Examples) |
||
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 05: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!
}