0

ここで Argument の例外をキャッチできない理由:

        string path = "\"";
        bool dirOk = true;
        try
        {
            dirOk = Directory.Exists(path);
        }
        catch (ArgumentException)
        {
            dirOk = false;//Never gets in here
        }

編集済み: 申し訳ありませんが、サンプル パスが正しくありません。現在変更されています!

すべての例外で停止するように VS デバッガーを構成します。


編集 2: わかりました。申し訳ありません。VS は中断しますが、例外は既に Exists() 内でキャッチされています。

4

3 に答える 3

2

単にDirectory.Existsパスが無効な場合に例外をスローしないため、ディレクトリの存在に応じてtrueまたは返すだけです。false

MSDNのドキュメントを参照してください

于 2013-10-10T13:12:53.987 に答える
1

Directory.Exists(string path)例外をまったくスローしていません。これは典型的な RTFM のケースのようです ;)

ここで述べたように、このメソッドは、絶対パスまたは相対パスを指定していないパラメーターに対して false を返すだけです。

于 2013-10-10T13:13:08.570 に答える