System.IO.Directory.Delete (문자열, 부울) (here)에 대한 MSDN 설명서에서 "경로가 디렉터리 대신 파일을 참조 할 때"DirectoryNotFoundException
이 throw됩니다. 예외 : IOException가 발생하기 때문에Directory.Delete에 관한 MSDN 설명서가 잘못 되었습니까?
그러나 다음 테스트가 실패 :
[Test]
[ExpectedException(typeof(DirectoryNotFoundException))] // because DeleteDirectory fails on files.
public void DeleteFileWithDeleteDirectoryDirectly()
{
var tempPath = Path.Combine(Path.GetTempPath(), "MyTestDirectory");
Directory.CreateDirectory(tempPath);
string file = Path.Combine(tempPath, "File1235.txt");
CreateDummyFile(file);
Assert.That(File.Exists(file));
Directory.Delete(file, true);
}
void CreateDummyFile(string name)
{
FileStream fs = File.Open(name, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
fs.WriteByte(255);
fs.Close();
}
로 (tempPath 위의 그림에 대한 단축, 실제 코드에서 각 테스트 후 삭제됩니다). 이 오류를 강제로 내 테스트가 잘못 되었습니까? 아니면 설명서가 올바르지 않습니까?
여기에서 재현 할 수 없습니다. IOException 던져 –
그건 내가 말하는거야. IOException이 발생하지만 DirectoryNotFoundException이 필요합니다. – PMF