Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    [Vb.Net] Gestione Corretta eccezzioni

    Ciao a tutti,

    Sto inziando a barcamenarmi con il vb.net e con il figoso try catch che ti solleva da molte problematiche (Ps : ho iniziato a fare un uso smoderato e fuori controllo) e vorrei capire qual'è il metodo migliore per andare ad appricarlo....

    codice:
                
    Try
    	File.Copy(SelectImage.FileName, System.Environment.CurrentDirectory & imgfinal)
    
    	Sql = "UPDATE NewMac SET " & sender.name & " = ? WHERE newmac_id = ? "
    	Dim cmd = New OleDb.OleDbCommand(Sql, db.istance)
    
    	cmd.Parameters.Add(New OleDbParameter("note_keypoint", OleDbType.VarChar))
    	cmd.Parameters.Add(New OleDbParameter("newmac_id", OleDbType.Numeric))
    
    	cmd.Parameters(0).Value = imgfinal.ToString
    	cmd.Parameters(1).Value = GeneralModel.IdDoc
    
    	cmd.ExecuteNonQuery()
    Catch ex As OleDb.OleDbException
    	MessageBox.Show(ex.Message)
    End Try
    Per esempio in questa porzione di codice io vado ad copiare un file e inserire il valore nel db....
    Da quanto ho potuto leggere gli oggetti che possono sollevare eccessioni sono il file.copy oppure tutte le istruzioni dell'oggetto oledb.....

    Nel caso in cui una delle suddette istruzioni generi una eccezzione finisce nel catch, ma come faccio a distinguerle per poterle gestire in modo diverso?
    Nel senso se è una eccezzione generata da il file.copy ho necessità di dare un tipo di errore, nel caso in cui sia dovuto dall'aggiunta di parametri in un altro, se è un erroe di executequery in un'altro ancora.....

    E' corretta questa pratica di inserire un blocco di istruzioni di natura diversa in un unico try catch oppure dovrei inserire un try solo per il file.copy uno per l'oggetto ole ecc ecc ecc.

    Grazie per tutti i consigli che mi verranno dati.

    Ciao
    Paolo
    Che mestiere difficile.....essere da soli ancora di più

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi usare molte catch in cascata come negli ultimi esempi in

    http://msdn.microsoft.com/it-it/library/fk6t46tz(v=vs.100).aspx



    P.S. Eccezione con una z ...
    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.