Mimic File.Move se o destino já existir

Da documentação deFile.Move:

Observe que, se você tentar substituir um arquivo movendo um arquivo com o mesmo nome para esse diretório, obterá uma IOException. Você não pode usar o método Move para substituir um arquivo existente.

Resumindo, você não pode sobrescreverMove, de modo a facilitar a sobrescrever no Move I imitar o comportamento, fazendo umFile.Copy seguido por umFile.Delete. Algo como:

<code>if (File.Exists(dstFileName))
{
    // System.IO.File.Move cannot be used to overwrite existing files, so we're going
    // to simulate that behavior with a Copy & Delete.
    File.Copy(procContext.FileName, dstFileName);
    File.Delete(procContext.FileName);
}
else
    File.Move(procContext.FileName, dstFileName);
</code>

A minha pergunta é: há alguma situação que eu preciso proteger contra o que poderia levar ao arquivo de origem ser excluído sem primeiro ser copiado com sucesso?

Meu entendimento de ler a documentação é que desdeFile.Copy não retorna nada que deve lançar uma exceção em qualquer caso que não tenha sucesso. Alguém já encontrou alguma situação em que isso não seja verdade?

questionAnswers(5)

yourAnswerToTheQuestion