同僚がリストからディレクトリを作成している状況に遭遇しました。リスト内の項目の1つがnullであるが、例外がnullではないということが起こります。
私の好奇心を満たすために、私は彼がしていることを模倣するテストプログラムを書きました。このテストプログラムは、すでに存在するc:\Tempにnullディレクトリを作成しようとします。Null例外がスローされることを期待していましたが、例外はスローされませんでした。
これが私のテストプログラムです。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace CreateNullDirectory
{
class Program
{
static void Main(string[] args)
{
String DirectoryName = null;
String FullDirectoryName = string.Format("c:\\Temp\\{0}",DirectoryName);
Console.WriteLine(string.Format("Creating Directory {0}", FullDirectoryName));
try
{
Directory.CreateDirectory(FullDirectoryName);
Console.WriteLine(string.Format("Successfully created directory {0}", FullDirectoryName));
}
catch (Exception ex)
{
Console.WriteLine(string.Format("Error creating {0} - {1}", FullDirectoryName, ex.Message));
}
Console.ReadLine();
}
}
}
出力は次のとおりです。
CreateDirectoryは終了するnullを無視し、すでに存在するC:\ Tempを作成しようとしているだけですか?