flash.errors

# StackOverflowError - AS3

Package | flash.errors
Class | public dynamic class StackOverflowError
Inheritance | StackOverflowError Error 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

More examples

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

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 at the time of the error's construction as a string. | 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
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String [override] Returns the string "Error" by default or the value contained in the 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

Runtime Versions: | AIR 1.0, Flash Player 9

Creates a new StackOverflowError object.

Parameters

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

Examples How to use this example
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.

Copy

    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();
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00