Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
flash.errors 
StackOverflowError 
Packageflash.errors
Classpublic dynamic class StackOverflowError
InheritanceStackOverflowError Inheritance Error Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9, Flash Lite 4

ActionScript throws a StackOverflowError exception when the stack available to the script is exhausted. ActionScript uses a stack to store information about each method call made in a script, such as the local variables that the method uses. The amount of stack space available varies from system to system.

A StackOverflowError exception might indicate that infinite recursion has occurred, in which case a termination case needs to be added to the function. It also might indicate that the recursive algorithm has a proper terminating condition but has exhausted the stack anyway. In this case, try to express the algorithm iteratively instead.

View the examples



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritederrorID : int
[read-only] Contains the reference number associated with the specific error message.
Error
 Inheritedmessage : String
Contains the message associated with the Error object.
Error
 Inheritedname : String
Contains the name of the Error object.
Error
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
Public Methods
 MethodDefined By
  
Creates a new StackOverflowError object.
StackOverflowError
 Inherited
Returns the call stack for an error as a string at the time of the error's construction (for the debugger version of Flash Player and the AIR Debug Launcher (ADL) only; returns null if not using the debugger version of Flash Player or the ADL.
Error
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
[override] Returns the string "Error" by default or the value contained in the Error.message property, if defined.
Error
 Inherited
Returns the primitive value of the specified object.
Object
Constructor Detail

StackOverflowError

()Constructor
public function StackOverflowError(message:String = "")

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0 Flash Player 9

Creates a new StackOverflowError object.

Parameters
message:String (default = "") — A string associated with the error object.
StackOverflowErrorExample.as

The following example uses the sample StackOverflowErrorExample class to show the error generated in the event of a stack overflow. This is accomplished using the following steps:
  1. The constructor calls the method lockMachine() within an error handling code segment that catches StackOverflowError objects.
  2. The lockMachine() method calls itself until the stack overflows.
  3. After the StackOverflowError is thrown, the constructor catches it and then outputs an error message through the trace statement.
package {
    import flash.display.Sprite;
    import flash.errors.StackOverflowError;

    public class StackOverflowErrorExample extends Sprite {        
        public function StackOverflowErrorExample() {
            try {
                lockMachine();
            } 
            catch(e:StackOverflowError) {
                trace(e);    // StackOverflowError: Error #1023: Stack overflow.
            }
        }
        
        private function lockMachine():void {
            lockMachine();
        }
    }
}