访问文件列表时无法解释的单声道应用程序崩溃

时间:2014-12-11 22:07:18

标签: c# ubuntu mono gtk#

我正在尝试使用ubuntu 14.10上的monodevelop获取所选文件夹中的文件列表。 当我执行FileChoserButton事件时,我的应用程序在第二行没有任何消息时崩溃(var files = ...)

我来自Windows窗体世界,几乎没有使用单声道或Linux应用程序开发的经验。有人可以帮助我如何诊断这里发生的事情以及如何解决它?  提前致谢

protected void ChangeFolder (object sender, EventArgs e)
{
    var dirInfo = new System.IO.DirectoryInfo (filechooserbutton1.Uri.ToString ()); 
    var files = dirInfo.GetFiles ();
    // do something with files variable

}

filechooserbutton1.Uri.ToString ()的值是“file:/// home / username / music”(我选择的文件夹)...

2 个答案:

答案 0 :(得分:1)

GetFiles只能抛出一个异常:DirectoryNotFoundException 所以,您的路径由' filechooserbutton1.Uri.ToString()'定义。无效。

在第二行用断点检查它的值并尝试使用"硬编码"你确定它存在的路径。

修改

请记住Linux中的路径需要" /"作为分隔符。

修改

"文件:///..."不是一条有效的道路。

修改

要捕获异常,请使用着名的" try {} catch(Exception ex){//在此处显示消息}

答案 1 :(得分:1)

使用(filechooserbutton1.FullName.ToString ())代替Uri.ToString()