| Пакет | 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, 11:34 AM Z
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства