private function rewriteQueue():void
{
try{
var file:File = File.applicationStorageDirectory.resolvePath(DATA_FILE_NAME);
file.deleteFile();
while (users.length) {
var aUser:Object = users.shift();
writeUser(aUser);
}
}catch (e:Error) {
}
}
위의 while 루프는 실행되지 않습니다. 테스트에서 함수를 호출 할 때 사용자 배열에 하나의 항목이 있고 writeUser()를 호출하여 잠시 동안 삭제 된 파일에 기록해야합니다. 그러나 일단 이것이 끝나면 내가 할 수없는 파일에서 사용자를 읽으려고합니다. 그것은 비어 있습니다.시도/catch 문제 - 코드가 실행되지 않습니까? AS3
while을 try/catch 블록 외부에 배치하면 정상적으로 작동합니다.
나는 이유를 알고 싶다.
편집 : 좋아, 알아 냈어. 이 문제는 삭제하려는 파일이 존재하지 않을 때 발생합니다. 이로 인해 deleteFile()에 오류가 발생하여 while을 실행하지 못하게합니다. 예지.
다음 번에 try/catch를 사용하여 현재 진행중인 작업을 파악하거나 catch 블록에서 오류를 추적/기록하여 오류가 발생하는 것을 확인하십시오. – BadFeelingAboutThis