Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    .net gestione eccezioni

    salve a tutti ho un problema con le eccezion

    appena creo un blocco try e catch
    e mi va in errore ..il programma si chiude, mentre io vorrei far visualizzare il tipo di errore, ma tenere il programma in memoria per nn perdere eventuali dati

    il punto è che un on error resume next e poi vedo il err.nmber mi sembra poco professionale

    potete aiutarmi in qualche modo ?
    grazie

  2. #2
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    try
    'tue istruzioni da tenere sotto controllo

    Catch ex As Exception

    MsgBox(ex.tostring) 'o ex.message
    'eventuali altre istruzioni

    Finally
    'eventuali istruzioni che l'applicazione deve fare in ogni caso anche se si interrompe per un'eccesione

    End try

  3. #3
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    al momento di eseguire il progetto si ferma il cursore su catch (cursore verde)
    poi se faccio continua , si mi da l'errore
    ma poi fa sul form.show nella parte del form padre che ha richiamato la form che da errore

  4. #4
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    se posti la parte di codice, si capisce meglio

  5. #5
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    ecci
    codice:
      Try
                Res = Com.ExecuteReader
                Dim Descrizione As String
    
                Res.Read()
    
                DataOrdine = Res("Data") & ""
             
                Res.Close()
    
            Catch ex As Exception
                MsgBox(ex.InnerException.ToString & " " & ex.Message )
            End Try

    se per caso da errore
    entra in catch (ancora prima del messaggio) e si ferma!
    questa è la struttura che utilizzo anche per le altre eccezioni

  6. #6
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    codice:
    try
       
       dim res As OleDbDataReader = comm.ExecuteReader()
       do while res.read()
          DataOrdine = Res("Data") & ""
       loop
       res.close()
    
    Catch ex As Exception
       MsgBox(ex.Tostring & " " & ex.Message )
    End Try

    prova così
    Verifica la tipologia di variabile di DataOrdine ed il tipo di campo 'Data'
    La scelta di fare un ciclo while dipende molto anche dalla query SQL con la quale interroghi il database: se questa query certamente estrae un'unica riga, allora il ciclo non serve

  7. #7
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    no ehm il codice funziona
    è solo che in caso di eccezione (nnn si sa mai)
    si blocca sulla catch e il programma si chiude
    tutto qua
    ecco quale era il mio problema

  8. #8
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    Sei sicuro che l'eccezione sia generata da codice all'interno del blocco try?
    Dal comportamento dell'applicazione pare che l'eccezione sia generata da codice più esterno a quel blocco e, non trovando un altro blocco try che l'intercetta, va all'indietro fino ad arrivare alla form chiamante....
    Dovresti individuare il punto esatto in cui arriva prima di generare l'errore.

  9. #9
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    no in genere quando la select è errata
    da erore li
    ma cmq ne lcaso di errore si ferma

  10. #10
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Originariamente inviato da amodio
    no in genere quando la select è errata
    da erore li
    ma cmq ne lcaso di errore si ferma

    Vai nelle opzioni dell'editor e imposta "Interrompi ad ogni errore non gestito" nel Tab "Generale".
    ...and I miss you...like the deserts miss the rain...

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.