ciao a tutti avrei bisogno di un piccolo aiutino. Ho una piccola applicazione che legge da una directory predefinita dei file e li allega a una mail, dopo di che li sposta in una cartella. I miei problemi sono questi:
se i file sono aperti (ad esempio in un pdf reader) gestisco l'errore tramite try e catch chiedendo all'utente se vuole chiudere il reader e riprovare a spostare il file ma come faccio a far ripartire il ciclo for each o devo rimettere la move nel catch ?
Secondo problema come distinguo un errore di file aperto da un errore di disco pieno a parte la stampa dei messaggi?
codice:
For Each filename As String In System.IO.Directory.GetFiles(directory_origine)
            Try
                Name = Path.GetFileName(filename)
                destinazione = path_directory & "\" & Name
                
                File.Move(filename, destinazione)

            Catch Err As System.IO.IOException
                msg = "E-mail inviata." & vbCrLf & vbCrLf & "Non è stato possibile spostare il file"
                msg = msg & Err.Message & vbCrLf & vbCrLf & "chiudere il file e premere riprova per         continuare" & vbCrLf & "o cancella per terminare il programma"
                
Dim risposta = MsgBox(msg, style)
                If risposta = MsgBoxResult.Retry Then
...
                Else
                    Application.Exit()
                End If

            End Try

        Next