パッケージflash.errors
クラスpublic dynamic class StackOverflowError
継承StackOverflowError Inheritance Error Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ActionScript は、スクリプトで使用できるスタックを使い切った場合に StackOverflowError 例外をスローします。ActionScript はスタックを使用して、スクリプト内で行われた各メソッド呼び出しに関する情報 (例えば、メソッドが使用するローカル変数) を保管します。使用できるスタックスペースの量は、システムによって異なります。

StackOverflowError 例外は、無限反復が発生したことを示している可能性があります。その場合、関数に終了条件を追加する必要があります。また、再帰アルゴリズムには適切な終了条件があるものの、単にスタックを使い切ってしまったことを示している可能性もあります。この場合、代わりの方法として、アルゴリズムを反復的に表現するようにしてください。

例を表示

関連項目

Responding to error events and status


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 InheritederrorID : int
[読み取り専用] 特定のエラーメッセージに関連付けられた参照番号です。
Error
 Inheritedmessage : String
Error オブジェクトに関連付けられたメッセージです。
Error
 Inheritedname : String
Error オブジェクトの名前です。
Error
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
新しい StackOverflowError オブジェクトを作成します。
StackOverflowError
 Inherited
エラーの構築時にエラーの呼び出しスタックをストリングで返します (デバッグ版の Flash Player および AIR Debug Launcher (ADL) のみ)。デバッグ版の Flash Player または ADL を使用していない場合は、null を返します。
Error
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
[override] デフォルトでは "Error" というストリングを返します。Error.message プロパティが定義されている場合は、その値を返します。
Error
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
コンストラクタの詳細
StackOverflowError()コンストラクタ
public function StackOverflowError(message:String = "")

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

新しい StackOverflowError オブジェクトを作成します。

パラメータ
message:String (default = "") — エラーオブジェクトに関連付けられたストリングです。
例の使用法
StackOverflowErrorExample.as

次の例では、サンプル StackOverflowErrorExample クラスを使用して、スタックのオーバーフローが生じた場合に生成されるエラーを示します。ここでは以下の手順を実行します。
  1. コンストラクタが lockMachine() メソッドをエラー処理コードセグメント内で呼び出します。このコードセグメントは StackOverflowError オブジェクトをキャッチするものです。
  2. lockMachine() メソッドはスタックがオーバーフローするまで自身を呼び出し続けます。
  3. StackOverflowError がスローされると、コンストラクタはそれをキャッチし、trace ステートメントを使用してエラーメッセージを出力します。
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();
        }
    }
}




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/errors/StackOverflowError.html