Ciao a tutti, è possibile riprovare l'istruzione che ha generato l'eccezione? Vi spiego il quesito: devo scrivere un file e se il percorso non esiste vorrei creare le directory mancanti nella gestione delle eccezioni e poi riprovare. Vorrei evitare di avere codice ripetuto, come si può fare?
La mia funzione:
Graziecodice:Public Function WriteAllFromString(ByVal pValue As String) As Boolean Dim FileWriter As System.IO.StreamWriter Try 'Istanzio l'oggetto stream per la scrittura del file '...se il percorso non esiste lo creo nella catch FileWriter = New System.IO.StreamWriter(NamePathFile) 'Questa try l'ho inserita per prova Try FileWriter.Write(pValue) FileWriter.Close() Catch ex As Exception 'L'errore lo gestisco con la catch principale Throw End Try Catch exIO As System.IO.DirectoryNotFoundException 'Creo la directory dal percorso senza nome file System.IO.Directory.CreateDirectory(NamePathFile.Substring(0, NamePathFile.LastIndexOf("\"))) 'Dopo la creazione del percorso vorrei continuare dal punto in cui si è presentata l'eccezione '...ma esegue la finally Catch ex As Exception MsgBox(ex.ToString, MsgBoxStyle.Critical) Return False Finally FileWriter = Nothing End Try Return True End Function

Rispondi quotando