Using remove on a file that does not exist will result in a exception that is not clear what the issue is, example below: import std.file; void main() { remove("IDontExist.txt"); } std.file.FileException: In std\file.d(400), data file IDontExist.txt: The operation completed successfully. The FileException states the "operation completed successfully" this is not actually the case since there was nothing to remove. Even though it had nothing to remove I think it is reasonable to consider the operation successful at which point it shouldn't be throwing an Exception.
Fixed in svn r1560.
*** Issue 4187 has been marked as a duplicate of this issue. ***