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:
codice:
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
Grazie