Mi è capitato di dover fare una gestione errori in un'applicazione in modo da poter continuare il funzionamento senza però interrompere il processo.
Basandomi sulle mie conoscenze della gestione errori di VB6 (che ricorda un pò il basic del commodore 64) ho fatto una cosa fatta bene, precisa e concisa, pure un pò circoncisa
Allora, nonostante tutto continuavano ad escire degli errori, che oltretutto erano gestiti...
Teoricamente in caso di errore doveva analizzarlo, loggarlo e passare al ciclo successivo.
Invece cosa fa? Analizza l'errore, lo logga e rimanda al ciclo successivo solo la prima volta!
Se riesce l'errore lo caccia fuori come se non fosse stato gestito.
Non volendo crederci mi sono fatto questo progetto di test con il solo Form_Load:
In teoria dovrebbe andare in loop, perché If Len("ciao") > 0 <> "" Then mi darà sempre errore e visto che nella gestione lo rimando a Start: è un rimbalzo fra procedura e gestione errori.codice:Private Sub Form_Load() Start: On Error GoTo Errore If Len("ciao") > 0 <> "" Then MsgBox "Ciao" End If On Error GoTo 0 Exit Sub Errore: MsgBox "Errore" Err.Clear GoTo Start End Sub
In pratica la prima volta mi entra in Errore: e mi esce la msgbox "Errore", la seconda volta l'errore invece me lo da a video...
Bello eh?
Avete suggerimenti?