ActionScript 3.0 Language and Components Reference | All Packages | All Classes | Language Elements | Index | Appendixes | Conventions | Frames No Frames |
StackOverflowError

Package | flash.errors
Class | public dynamic class StackOverflowError
Inheritance | StackOverflowError Error Object

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

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

See also

Responding to error events and status

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | errorID : int [read-only] Contains the reference number associated with the specific error message. | Error
|  | message : String Contains the message associated with the Error object. | Error
|  | name : String Contains the name of the Error object. | Error
|  | prototype : Object [static] A reference to the prototype object of a class or function object. | Object

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | StackOverflowError(message:String = "") Creates a new StackOverflowError object. | StackOverflowError
|  | getStackTrace():String 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 only). | Error
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toString():String Returns the string "Error" by default or the value contained in Error.message property, if defined. | Error
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Constructor Detail

StackOverflowError | () | Constructor

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

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Creates a new StackOverflowError object.

Parameters

| `message:String` (default = "``")`` — A string associated with the error object.

Examples How to use examples
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();
            }
        }
    }

Submit Feedback on LiveDocs
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Tue May 20 2008, 04:02 AM -07:00