Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580

    [vb.net] intercettare errore nella classe

    slave a tutti
    se nell'insert contenuto dnella classe dovrebbe darmi errore vorrei poter intercettare l'errore e mostrarlo in un messaggio nella form
    ho fatto questo:
    nella classe:
    codice:
    public sub insert
     try
       sql="insert into...
       cmd.executeNONquery
     catch
        Err.Raise("errore nell'inserimento " & ex.Message)
      end try
    end sub
    nella form:
    codice:
    dim ObjDip as new cls_Dip
    public sub insert
     try
       ObjDip.Insert
       msgbox "inserimento avvenuto con successo"
     catch
        MsgBox(ex.Message)
      end try
    end sub
    ebbene nella form, quando l'inserimento non è avvenuto bene, non mi restituisce il messaggio che ho messo nell'err.raise, ma un'atlro "cannot insert t on type integer" ..insomma roba che ha nulla a vedere perfino con l'errore che ho avuto!!(e ora non sto qui a dire che errori mi succedevano)
    cosa sbaglio? come posso riprendermi l'errore gestito dalla classe?
    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    prova:

    Try
    ...
    Catch ex As Exception
    Err.Raise("errore nell'inserimento " & ex.Message)
    And Try

  3. #3
    prova:

    Try
    ...
    Catch ex As Exception
    msgbox("errore nell'inserimento " & ex.Message)
    And Try

  4. #4
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    si.. è gia' cosi'
    ecco ti faccio vedere nella classe, putroppo per scrivere non ho messo la parte dell'ex.exception
    codice:
            Try
                CMD.ExecuteNonQuery()
            Catch ex As Exception
                Err.Raise("errore nell'inserimento " & ex.Message)
            End Try
    e qui la form

    codice:
         Try         
                    ObjDipendenti.Inserisci()
                        MsgBox("Dipendente salvato correttamente", MsgBoxStyle.Information, "dipendenti")
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  5. #5
    prova, guardando la guida in linea, se c'è un'Eccezione specifica per le operazioni che esegui nel Try (normalmente lo fa) e specifichi bene l'ogomento dell'eccezzione!!!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Io suggerirei di evitare, per motivi di chiarezza e uniformità, l'uso di Err.Raise e di sostituirlo con l'istruzione Throw.

    Poi, analizzando il codice e descrivendo con precisione ciò che si desidera ottenere, è possibile modificarlo opportunamente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    Originariamente inviato da alka
    Io suggerirei di evitare, per motivi di chiarezza e uniformità, l'uso di Err.Raise e di sostituirlo con l'istruzione Throw.

    Poi, analizzando il codice e descrivendo con precisione ciò che si desidera ottenere, è possibile modificarlo opportunamente.

    Ciao!
    err.throw
    thor....

    non capisco
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da Kahm
    err.throw
    thor....
    non capisco
    "Cazzarola", uno sguardo alla documentazione lo si potrebbe dare.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.