C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: エラートラップしつつ、その続きをさせる方法は


(過去ログ 111 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■65926 / inTopicNo.1)  エラートラップしつつ、その続きをさせる方法は
  
□投稿者/ まなか (9回)-(2013/03/24(Sun) 20:13:21)

分類:[C#] 

下記コードでファイル一覧を取得してlistboxに表示したいのです。
ですが、当然ですがアクセス権などの問題でエラーが出る場合があります。
Try文でトラップしたりすると回避できますが、そこで処理が終了してしまいます。
ファイルの一覧取得中に出たエラーを回避しつつ、その続き(エラーのあったファイルの後)を続けてlistboxに追加し続けるようにするにはどう、コーディングしたら良いでしょうか
よろしくお願いいたします。

        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();


            string[] files;



            files = System.IO.Directory.GetFiles(
               @"C:\test", "*", System.IO.SearchOption.AllDirectories);

            listBox1.Items.AddRange(files);
        }

引用返信 編集キー/
■65927 / inTopicNo.2)  Re[1]: エラートラップしつつ、その続きをさせる方法は
□投稿者/ Azulean (122回)-(2013/03/24(Sun) 23:01:04)
No65926 (まなか さん) に返信
> ファイルの一覧取得中に出たエラーを回避しつつ、その続き(エラーのあったファイルの後)を続けてlistboxに追加し続けるようにするにはどう、コーディングしたら良いでしょうか

上からまとめて全部とやろうとするから止まるのであれば、一階層ずつ自分でリストを作っていくことが必要でしょうね。
再帰とかループとか勉強してみてください。


もしくは、「AllDirectories access denied」と英語を含めて検索するとか。
http://www.google.co.jp/#hl=ja&output=search&sclient=psy-ab&q=AllDirectories+access+denied&oq=AllDirectories+access+denied&gs_l=hp.3..0i5i10i30.1418.1418.0.2749.1.1.0.0.0.0.88.88.1.1.0...0.0...1c.1.7.psy-ab.BqjMLuwq8rg&pbx=1&bav=on.2,or.r_qf.&bvm=bv.44158598,d.dGI&fp=fbfea47f936739b1&biw=1241&bih=804
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -