2014-10-20 67 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