Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    115

    [VB6] Gestione degli errori - Resume <line>

    Ciao,
    ho un problema con la gestione degli errori in vb6.
    Ho il seguente codice

    codice:
    Public Sub ....
    .......
    ..........
    For Each elemento In collection
    
                'On Error GoTo ERRORE_SALVATAGGIO_ELEM
    
                    With recordSetElementi
    
                        .AddNew
                        
                        .Fields("CAMPO1") = elemento.campo1
                        .Fields("CAMPO2") = elemento.campo2
                       	......
    			........
            
                    End With
    NUOVO_ELEM:
                Next 'Elemento successivo della collection
            End If
        End If
        
        recordSetElementi.update
        recordSetElementi.Close
        
        Exit Sub
    
    
    ERRORE_SALVATAGGIO_ELEM:
        MsgBox "Errore salvataggio di un elemento"
        Resume NUOVO_ELEM
        
    End Sub
    Scorrendo la mia collection devo salvare in un recordset ciascun elemento, ma vorrei che se un elemento generasse errore fosse possibile riprendere la mia routine dall'elemento successivo, tramite la gestione di ERRORE_SALVATAGGIO_ELEM che dovrebbe riprendere l'esecuzione della routine dalla riga di codice che sposta il ciclo For all'elemento successivo, e non interrompere bruscamente l'esecuzione di essa.
    Ho provato anche inserendo nel Resume il numero di riga ma non ha avuto successo ugualmente, viene sempre generato un errore come se si perdesse il rifermento alla collection che si sta scorrendo.
    Dove sto sbagliando?

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Prima di tutto dovresti dire
    1. QUALE RIGA genera l'errore
    2. la DESCRIZIONE ed il NUMERO dell'errore


  3. #3
    credo che basti restare dentro il ciclo for
    codice:
    Public Sub ....
    .......
    ..........
    For Each elemento In collection
    
               On Error GoTo ERRORE_SALVATAGGIO_ELEM
    
                    With recordSetElementi
    
                        .AddNew
                        
                        .Fields("CAMPO1") = elemento.campo1
                        .Fields("CAMPO2") = elemento.campo2
                       	......
    			........
            
                    End With
    ERRORE_SALVATAGGIO_ELEM:
                    on error resume 0
                Next 'Elemento successivo della collection
            End If
        End If
        
        recordSetElementi.update
        recordSetElementi.Close
        
        Exit Sub
    
    
        
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.