Aiuto per gestire eccezione NoNullAllowedException

lunedì 26 marzo 2012 - 14.42
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  SQL Server Express  |  Office 2007  |  SQL Reporting Services

GIANNI_inside Profilo | Newbie

Salve a tutti, sono qui a chiedervi un aiuto perchè proprio non ne esco. Ho un form con una DGV popolata con dati sql, quando inserisco i dati provo a salvare (senza inserire qualche campo not null) e giustamente mi segnala l'errore, si interrompe facendomi rilanciare il programma. Qualcuno mi aiuta a fare in modo che se si verifica quella eccezione il programma me lo segnala e mi da la possibilita' di inserire i dati mancanti senza ricominciare tutto da capo? Grazie.

Gho5t Profilo | Junior Member

Ciao,
nella funzione che salva i dati, inserisci un try catch e non dovrebbe più schiantare.

Try 'Operazioni salvataggio dati Catch ex as Exception 'L'errore lo trovi dentro la variabile ex End Try

Questa è una guida che spiega meglio come funziona:
http://programmazione.html.it/guide/lezione/1376/la-gestione-degli-errori-in-vb-net/
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui

GIANNI_inside Profilo | Newbie

Grazie per avermi risposto ma sono alle prime armi e non mi riesce. Il codice che si inchioda è:
Private Sub PippoBindingNavigatorSaveItem_Click(sender As System.Object, e As System.EventArgs) Handles PippoBindingNavigatorSaveItem.Click
Me.Validate()
Me.PippoBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PaperinoDataSet)

try ..........
..........
Catch ex As Exception
MsgBox("Attenzione valore null")
End Try

me lo completi per piacere? grazie

Gho5t Profilo | Junior Member

Ciao,
non capisco cosa vuoi dire, basta che metti tutte le istruzioni che possono generare l'eccezione all'interno del try catch e non si interrompe più la tua applicazione in caso di errore:
Private Sub PippoBindingNavigatorSaveItem_Click(sender As System.Object, e As System.EventArgs) Handles PippoBindingNavigatorSaveItem.Click try Me.Validate() Me.PippoBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.PaperinoDataSet) .......... .......... Catch ex As Exception MsgBox("Attenzione valore null") End Try

Ovviamente il try catch intercetta tutti gli errori, che vanno dal valore null fino ad un'errore in caso di query errata o di altro tipo.
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui

GIANNI_inside Profilo | Newbie

Grazie mille, infatti c'ero arrivato alla fine, mettevo il try dopo le istruzioni, adesso ho risolto un problema cioè quello che se lasci i campi null va in exception e mi sono accorto di un altro: se passo da un campo all'altro col tab senza mettere nulla, quando arriva alla fine del record si impalla lo stesso ma se il dgv e lo stesso ed è (credo) la stessa eccezione....cosa mi sfugge?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5