0
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循環看起來不會執行。當我在測試中調用函數時,我在users數組中有一個項目,並且應該通過調用writeUser()將其寫入剛刪除的文件中。但是,一旦完成,我嘗試從文件中讀取用戶,我無法 - 這是空的。Try/catch問題 - 代碼沒有執行? AS3
通過在try/catch塊外放置while可以正常工作。
我只是想知道爲什麼。
編輯:好的,我想通了。當試圖刪除的文件不存在時發生問題。這在deleteFile()中導致錯誤 - 導致while不執行。 Yeesh。
下一次,要麼拿出你的try/catch弄清楚發生了什麼事情,或至少跟蹤/記錄錯誤catch塊,所以你知道它拋出一個錯誤 – BadFeelingAboutThis 2014-11-21 17:21:36