패키지flash.errors
클래스public dynamic class StackOverflowError
상속StackOverflowError Inheritance Error Inheritance Object

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

해당 스크립트에 사용 가능한 스택이 소진되면 ActionScript에서 StackOverflowError 예외가 발생합니다. ActionScript는 스크립트에서 호출한 각 메서드에 대한 정보(해당 메서드가 사용하는 로컬 변수 등)를 저장하기 위해 스택을 사용합니다. 사용 가능한 스택 공간의 크기는 시스템마다 차이가 있습니다.

StackOverflowError 예외는 무한 재귀가 발생한 것을 나타낼 수 있는데, 이 경우 종료 조건을 함수에 추가해야 합니다. 또는 재귀 알고리즘에 적절한 종료 조건이 있지만 스택이 소진되었음을 나타낼 수도 있습니다. 이 경우 재귀 알고리즘을 반복적으로 표시해야 합니다.

예제를 통해 확인하십시오.

참고 사항

오류 이벤트 및 상태에 응답


Public 속성
 속성다음에 의해 정의됨
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
 InheritederrorID : int
[read-only] 특정 오류 메시지와 연관된 참조 번호가 포함되어 있습니다.
Error
 Inheritedmessage : String
Error 객체에 연결된 메시지가 들어 있습니다.
Error
 Inheritedname : String
Error 객체의 이름이 들어 있습니다.
Error
 Inheritedprototype : Object
[static] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
Public 메서드
 메서드다음에 의해 정의됨
  
StackOverflowError(message:String = "")
새 StackOverflowError 객체를 만듭니다.
StackOverflowError
 Inherited
오류 발생 시점에서 오류 호출 스택을 문자열로 반환합니다(Flash Player 디버거 버전만 해당).
Error
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
기본적으로 "Error"라는 문자열을 반환하고 Error.message 속성이 정의된 경우에는 여기에 포함된 값을 반환합니다.
Error
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
생성자 정보
StackOverflowError()생성자
public function StackOverflowError(message:String = "")

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

새 StackOverflowError 객체를 만듭니다.

매개 변수
message:String (default = "") — 오류 객체와 연관된 문자열입니다.
예제 예제 사용 방법
StackOverflowErrorExample.as

다음 예제에서는 샘플 StackOverflowErrorExample 클래스를 사용하여 스택 오버플로 시에 발생하는 오류를 보여 줍니다. 이는 다음 단계로 이루어집니다.
  1. 생성자가 StackOverflowError 객체를 포착하는 오류 처리 코드 세그먼트 내의 lockMachine() 메서드를 호출합니다.
  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/flash/9.0_kr/ActionScriptLangRefV3/flash/errors/StackOverflowError.html