パッケージ | flash.errors |
クラス | public dynamic class StackOverflowError |
継承 | StackOverflowError Error Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
StackOverflowError 例外は、無限反復が発生したことを示している可能性があります。その場合、関数に終了条件を追加する必要があります。また、再帰アルゴリズムには適切な終了条件があるものの、単にスタックを使い切ってしまったことを示している可能性もあります。この場合、代わりの方法として、アルゴリズムを反復的に表現するようにしてください。
パブリックプロパティ
パブリックメソッド
メソッド | 定義元 | ||
---|---|---|---|
StackOverflowError(message:String = "")
新しい StackOverflowError オブジェクトを作成します。 | StackOverflowError | ||
エラー発生時のエラーの呼び出しスタックをストリングで返します。 | Error | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
[オーバーライド]
デフォルトでは "Error" というストリングを返します。Error.message プロパティが定義されている場合は、その値を返します。 | Error | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
コンストラクターの詳細
StackOverflowError | () | コンストラクター |
例 この例の使用方法
StackOverflowErrorExample.as
次の例では、サンプル StackOverflowErrorExample クラスを使用して、スタックのオーバーフローが生じた場合に生成されるエラーを示します。ここでは以下の手順を実行します。
- コンストラクターが
lockMachine()
メソッドをエラー処理コードセグメント内で呼び出します。このコードセグメントは StackOverflowError オブジェクトをキャッチするものです。 lockMachine()
メソッドはスタックがオーバーフローするまで自身を呼び出し続けます。- 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(); } } }
Tue Jun 12 2018, 10:34 AM Z