Nel popolare alcuni dati di una DataRow
codice:
Dim FoundRow As DataRow
FoundRow = dt.Rows.Find(Data0)
If FoundRow Is Nothing Then
Debug.Print("Inserisco un nuovo record")
Dim NewHHRow As DataRow = dt.NewRow()
Debug.Print (Data0.ToString)
NewHHRow(0) = Data0
Debug.Print (Data1.ToString)
NewHHRow(1) = Data1
.............. etc etc
Debug.Print ("Aggiungo nuova riga")
dt.Rows.Add(NewHHRow)
da.Update(ds, Tabella)
nella finestra di controllo immediato compare una riga:
Eccezione first-chance di tipo 'System.InvalidOperationException' in System.dll (nessun messaggio ulteriore)
Il dati non sono Null, perché controllo con un Debug.Print prima di inserirli.
Tutto codice è inserito in un Try... Catch...
codice:
Catch inv As InvalidOperationException
MessageBox.Show("Errore: " & inv.ToString)
Catch ex As Exception
MessageBox.Show(Errore: " & ex.ToString)
La cosa strana è che il database si aggiorna assolutamente regolarmente e che la eccezione non viene rilevata, nel senso che il codice Catch non viene eseguito: se in Debug non dessi una occhiata alla finestra di controllo immediato non mi accorgerei di nulla.
Domanda: come capire che cosa genera la eccezione e perché non viene rilevata dal Try... Catch? Se potessi arrivare al Catch saprei qualcosa di più...