Pakiet | flash.errors |
Klasa | public dynamic class StackOverflowError |
Dziedziczenie | StackOverflowError Error Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wyjątek StackOverflowError może świadczyć o istnieniu nieskończonego wywołania rekurencyjnego, a zatem o konieczności uzupełnienia funkcji o warunek zakończenia. Wyjątek może także pojawić się, gdy algorytm rekurencyjny zajmie całą pamięć przeznaczoną na stos mimo istnienia poprawnego warunku zakończenia. W takim przypadku należy w miarę możliwości zrealizować algorytm iteracyjnie.
Właściwości publiczne
Metody publiczne
Metoda | Zdefiniowane przez | ||
---|---|---|---|
StackOverflowError(message:String = "")
Tworzy nowy obiekt StackOverflowError. | StackOverflowError | ||
Zwraca ciąg reprezentujący stos wywołań związanych z błędem, który istniał w momencie uruchomienia konstruktora błędu. | Error | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
[przesłanianie]
Domyślnie zwraca ciąg znaków „Error” lub wartość określoną przez właściwość Error.message (jeśli określona). | Error | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
Konstruktor Szczegół
StackOverflowError | () | Konstruktor |
Przykłady Sposób korzystania z tego przykładu
StackOverflowErrorExample.as
W poniższym przykładzie zastosowano klasę StackOverflowErrorExample do wyświetlenia informacji o błędzie wygenerowanym w wypadku przepełnienia stosu. W tym celu należy wykonać następujące czynności:
- Konstruktor wywołuje metodę
lockMachine()
w segmencie kodu obsługującym błędy, który przechwytuje obiekty StackOverflowError. - Metoda
lockMachine()
wywołuje się sama, aż do przepełnienia stosu. - Po wygenerowaniu wyjątku StackOverflowError konstruktor przechwytuje go i generuje komunikat o błędzie za pośrednictwem instrukcji
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, 12:06 PM Z