Pacchetto | flash.errors |
Classe | public dynamic class StackOverflowError |
Ereditarietà | StackOverflowError Error Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Un'eccezione StackOverflowError potrebbe indicare che si è verificata una ricorsività infinita. In tal caso, è necessario aggiungere alla funzione una clausola di terminazione. Potrebbe anche indicare che l'algoritmo ricorsivo è dotato di una condizione di terminazione adeguata, ma che lo stack si è comunque esaurito. In tal caso, tentate di esprimere l'algoritmo in modo iterativo.
Altri esempi
Proprietà pubbliche
Metodi pubblici
Metodo | Definito da | ||
---|---|---|---|
StackOverflowError(message:String = "")
Crea un nuovo oggetto StackOverflowError. | StackOverflowError | ||
Restituisce lo stack di chiamata per un errore al momento della costruzione dell’errore come stringa. | Error | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
[override]
Restituisce la stringa "Error" per impostazione predefinita oppure il valore contenuto nella proprietà Error.message, se definita. | Error | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
Descrizione della funzione di costruzione
StackOverflowError | () | Funzione di costruzione |
StackOverflowErrorExample.as
L'esempio seguente utilizza la classe di esempio StackOverflowErrorExample per mostrare l'errore generato in caso di overflow dello stack. Questa operazione viene eseguita mediante la procedura seguente:
- La funzione di costruzione chiama il metodo
lockMachine()
all'interno di un segmento di codice per la gestione degli errori che rileva gli oggetti StackOverflowError. - Il metodo
lockMachine()
chiama se stesso fino a quando non si verifica l'overflow dello stack. - Una volta generata l'eccezione StackOverflowError, la funzione di costruzione la rileva e genera un messaggio di errore attraverso l'istruzione
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, 02:44 PM Z