2014-10-20 62 views
1

我想在try塊中檢查我的db文件存在,並在catch中創建它。爲什麼我在使用C#的Windows Phone 8中獲取FileNotFoundException?

public async Task<bool> CheckDbAsync() 
{ 
    bool dbExist = true; 
    try 
    { 
     StorageFile sf = await ApplicationData.Current.LocalFolder.GetFileAsync(DB_NAME); 
    } 
    catch(FileNotFoundException) 
    { 
     Conn = new SQLiteAsyncConnection(Path.Combine(ApplicationData.Current.LocalFolder.Path,"baby.db") , true); 
     dbExist = false; 
    } 

    return dbExist; 
} 

問題是我得到相同的處理異常。代碼在我的try塊中斷。任何想法爲什麼?

回答

0

我有固定的問題,通過使用

System.IO.File.Exists(string.Format(@"{0}\{1}", ApplicationData.Current.LocalFolder.Path, DB_NAME)); 

文件是否存在或返回一個布爾不。

問候。

2

如果您想檢查文件所有腦幹,你可以使用TryGetItemAsync()這樣的:

StorageFile sf = await ApplicationData.Current.LocalFolder.TryGetItemAsync(DB_NAME); 
+0

@ RenDishen。我無法使用TryGetItemAsync。得到錯誤 「windows.storage.storgaefolder不包含TryGetItemAsync的定義」 – 2014-10-21 08:37:55

相關問題