Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13

    [VB6] intercettare gli errori, On Error non mi funziona

    Ciao a tutti, devo intercettare tutti gli errori che potrebbero capitare durante una Sub, percio' infilo un On Error GoTo .... per farlo andare comunque avanti senza interrompere il funzionamento del programma...
    Il fatto è che non funziona, visual basic continua comunque ad interrompere l'esecuzione del programma dicendomi cosa c'e' che non va!
    Dopo l'On Error il programma esegue delle query SQL, tutto tramite una libreria per MySQL che ho trovato online, puo' essere la causa di cio'? Come potrei risolvere? Il mio programma deve comunque andare avanti anche se capitano degli errori, sia di istruzioni VB che di query SQL

    Grazie!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito il problema ... e se non mostri il codice che hai scritto e' ancora piu' difficile capirlo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13
    mi dispiace, comunque ecco il codice:

    Private Sub untimer_Timer()
    On Error GoTo errhandler
    array1 = Split(txtTemp.Text, vbCrLf)

    Set mrec = mysql.query("...una query SQL...")

    errhandler:
    untimer.Enabled = False
    altrotimer.Enabled = True
    End Sub
    in sostanza, se ad esempio la query SQL e' errata, VB mi interrompe l'esecuzione del programma mostrandomi la classica dialog di errore con i pulsanti per il Debug ecc.. ecco io non voglio, quindi ho inserito On Error GoTo per gestire l'errore e dirgli di ignorarlo proseguendo con l'esecuzione del programma, peccato che e' come se non ci fosse! il programma si interrompe comunque mostrando la dialog di errore di vb6

    mysql.query e' una funzione della libreria libMySql.dll, una libreria che mi permette di interfacciare vb6 con un database mysql

    spero che ora sia piu' chiara la cosa!

    grazie

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prova con il codice corretto cosi'

    codice:
    Private Sub untimer_Timer()
    On Error GoTo errhandler
    array1 = Split(txtTemp.Text, vbCrLf)
    
    Set mrec = mysql.query("...una query SQL...")
    
    Exit Sub
    
    errhandler:
    untimer.Enabled = False
    altrotimer.Enabled = True
    Resume Next
    End Sub
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2008
    Messaggi
    13
    nada e' sempre come prima, e' sempre un errore di run-time, possibile che non viene intercettato per questo? non sono molto esperto

    PS: l'exit sub prima di errhandling non lo avevo messo perche' comunque volevo fargli eseguire quelle due istruzioni anche se non c'e' nessun errore

    EDIT: sono riuscito ad oltrepassare la cosa modificando la libreria, in pratica questa libreria mi crea un errore di run-time ogni volta (con un Err.Raise), e a quanto pare vb6 non lo intercetta.. modificare la libreria e' una soluzione un po' brutale? oppure e' l'unica soluzione? grazie comunque per l'interessamento!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Fungoh
    EDIT: sono riuscito ad oltrepassare la cosa modificando la libreria
    Modificando la libreria ?

    Di quale libreria parli?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.