Flash CS3 설명서 |
|||
| ActionScript 3.0 프로그래밍 > 오류 처리 > 오류 유형 | |||
응용 프로그램을 개발하고 실행할 때 다양한 오류 유형 및 오류 용어를 접하게 됩니다. 다음 목록은 주요 오류 유형 및 용어에 대한 설명입니다.
catch 문으로 제어의 흐름이 즉시 전달됩니다. 예를 들어, 다음 코드 예제에서는 프로그램에서 파일 업로드를 시도하기 전에 browse() 메서드가 호출되지 않아 런타임 오류가 발생합니다.
var fileRef:FileReference = new FileReference();
try
{
fileRef.upload("http://www.yourdomain.com/fileupload.cfm");
}
catch (error:IllegalOperationError)
{
trace(error);
// 오류 #2037: 잘못된 순서로 함수가 호출되었거나 이전
// 호출이 실패했습니다.
}
이 경우 Flash Player에서 파일 업로드를 시도하기 전에 browse() 메서드가 호출되지 않았음을 확인하므로 런타임 오류가 동기적으로 발생합니다.
동기 오류 처리에 대한 자세한 내용은 응용 프로그램에서 동기 오류 처리를 참조하십시오.
앞에서 설명했던 파일 업로드 동기 오류를 살펴봅니다. 파일 업로드를 시작하기 전에 browse() 메서드를 성공적으로 호출한 경우 Flash Player에서 여러 이벤트를 전달하게 됩니다. 예를 들어, 업로드가 시작되면 open 이벤트가 전달됩니다. 그리고 파일 업로드 작업이 성공적으로 완료되면 complete 이벤트가 전달됩니다. 이벤트 처리는 비동기적이므로(즉, 특정 시간, 알려진 시간 또는 미리 지정된 시간에 발생하지 않음) 다음 코드와 같이 이러한 특정 이벤트를 수신하려면 addEventListener() 메서드를 사용해야 합니다.
var fileRef:FileReference = new FileReference();
fileRef.addEventListener(Event.SELECT, selectHandler);
fileRef.addEventListener(Event.OPEN, openHandler);
fileRef.addEventListener(Event.COMPLETE, completeHandler);
fileRef.browse();
function selectHandler(event:Event):void
{
trace("...select...");
var request:URLRequest = new URLRequest("http://www.yourdomain.com/fileupload.cfm");
request.method = URLRequestMethod.POST;
event.target.upload(request.url);
}
function openHandler(event:Event):void
{
trace("...open...");
}
function completeHandler(event:Event):void
{
trace("...complete...");
}
비동기 오류 처리에 대한 자세한 내용은 오류 이벤트 및 상태에 응답을 참조하십시오.
catch 문)가 없을 때 발생하는 오류입니다. 응용 프로그램에서 오류가 발생하고 현재 또는 상위 수준에 오류를 처리할 수 있는 적합한 catch 문이나 이벤트 핸들러가 없는 경우 이 오류는 포착되지 않는 예외로 간주됩니다. 런타임 시 Flash Player에서는 포착되지 않는 오류를 무시하고 오류가 발생해도 현재 SWF 파일이 중단되지 않는 경우 재생을 계속하도록 설계되어 있습니다. 이는 사용자가 오류를 자체 해결할 수 없기 때문입니다. catch되지 않는 오류를 무시하는 프로세스를 "자동 실패"라고 하며 자동 실패 시 디버깅 응용 프로그램이 복잡해질 수 있습니다. Flash Player의 디버거 버전은 현재 스크립트를 종료하고 trace 문 출력에 catch되지 않는 오류를 표시하거나 로그 파일에 오류 메시지를 기록함으로써 catch되지 않는 오류에 응답합니다. 예외 객체가 Error 클래스 또는 그 하위 클래스 중 하나의 인스턴스일 경우 getStackTrace() 메서드가 호출되며 스택 추적 정보도 trace 문 출력이나 로그 파일에 표시됩니다. Flash Player의 디버거 버전 사용에 대한 자세한 내용은 Flash Player의 디버거 버전 작업을 참조하십시오.
Flash CS3
이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/main/00000097.html