2013-01-31 12 views
6

stavo leggendo File.AppendAllText metodo da MSDNFileNotFoundException in File.AppendAllText

http://msdn.microsoft.com/en-us/library/ms143356.aspx

ho visto che hanno elencato FileNotFoundException a possibili all'elenco delle eccezioni per il metodo, ma in base alla descrizione lì sul metodo sulla stessa pagina

Apre un file, aggiunge la stringa specificata al file e quindi chiude il file. Se il file non esiste, questo metodo crea un file, scrive la stringa specificata nel file, quindi chiude il file.

questa parte

Se il file non esiste, questo metodo crea un file

sembra questa eccezione non può mai essere gettato per questo metodo.

+3

Suppongo sia possibile che non sia possibile creare il file per motivi di sicurezza o simili – Sayse

+0

@Sayse Esiste un'eccezione diversa. –

+0

Il FileNotFoundException è nel caso in cui la directory non esiste –

risposta

7

Se si dà un'occhiata a (diciamo) implementazione di Mono (che è compatibile con Microsoft), tutti File.AppendAllText finisce per fare (controlli di argomento a parte) è la creazione di un StreamWriter con il vostro percorso e chiamare un Write su tale oggetto.

Né il costruttore utilizzato né il metodo sono elencati ovunque per gettare un FileNotFoundException, per quanto posso dire, quindi potrebbe essere un errore di documentazione.

+4

Potrebbe essere un errore di documentazione, sì; Non riesco a vedere in alcun modo quell'eccezione dovrebbe essere generata da quel metodo. –

+0

Bella domanda e bella risposta :) –

+0

+1 bei dettagli all'interno della funzione :) –

0

Questa discussione potrebbe essere vecchia, ma la risposta corretta fornita dall'equipaggio One-man è stata ignorata da altri. Il fatto è che FileNotFoundException non è un errore di battitura. Esiste, e ho capito. Il motivo è nel messaggio di eccezione nel modo seguente: "Impossibile trovare parte del percorso". Come descritto, File.AppendAllText aprirà il file se non esiste, ma deve avere un percorso valido .

Problemi correlati