Diamo un'occhiata a questo logicamente e in modo critico. Supponendo che il doco MSDN non è accurato al 100% (esso contiene errori occasionali) e una FileNotFoundExceptionpotrebbe essere gettati, sarebbe causato da:
il file non è mai esistito per cominciare (si è usciti dal try
ed è entrato l'finally
prima che il file è stato creato)
si verifica un errore di programmazione (avete assemblato il percorso del file o il nome in modo errato)
Si presume che l'opzione # 2 non dovrebbe accadere, perché si verifica per questo, se può ancora accadere, allora si ha un codice maleodorante. Ciò lascia l'opzione n. 1 come l'unica opzione praticabile, nel qual caso non ti interessa l'eccezione, quindi ti basta prenderla e andare avanti. Ciò significa che la tua domanda specifica è ampiamente ridondante anche se è possibile lanciare un FileNotFoundException.
Tuttavia ...
sarei ancora avvolgere il File.Delete con un try/catch perché IMVHO ci sono ancora due eccezioni che sono possibili ed è necessario prendere atto di: IOException e UnauthorizedAccessException. Se si verifica uno di questi casi, dovresti considerare una sorta di attenuazione (magari impostare il file per la cancellazione al prossimo riavvio e/o avvisare l'utente in qualche modo).
domanda simile che ho chiesto prima: http://stackoverflow.com/questions/8823395/guarding-against-exceptions-preventative-maintenance -quando-lavorando-con-rete –
@my simile, ma non un duplicato – Codeman