Procedura dettagliata: gestione delle eccezioni strutturata (Visual Basic)
Sebbene sia ancora possibile utilizzare l'istruzione On Error per la gestione delle eccezioni nel codice al fine di fornire una gestione delle eccezioni non strutturata, in Visual Basic 2005 è anche possibile utilizzare la gestione delle eccezioni strutturata e creare e gestire programmi con una gestione degli errori completa. Nella gestione delle eccezioni strutturata blocchi di codice verificano circostanze specifiche e rispondono quindi in modo appropriato.
In questa procedura dettagliata viene illustrata l'aggiunta della gestione delle eccezioni strutturata a un programma. Nello specifico, viene illustrato come utilizzare l'istruzione Try...Catch...Finally per la gestione delle eccezioni e come filtrare gli errori all'interno dei blocchi Catch.
Nota
Non è possibile utilizzare sia la gestione degli errori strutturata sia la gestione degli errori non strutturata in una stessa routine.
Nota
Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.
Creazione dell'applicazione
Utilizzando questa procedura è possibile creare un'applicazione per le ordinazioni di un'azienda che vende orsacchiotti. Per l'interfaccia utente vengono utilizzati i seguenti controlli:
Un controllo TextBox per il nome del cliente.
Due controlli ComboBox per selezionare il colore e le dimensioni dell'orsacchiotto.
Un controllo Button Ordine.
Tre etichette che indicano all'utente lo scopo di ciascun controllo.
Quando l'utente immette le informazioni richieste e fa clic sul pulsante Ordine, viene visualizzato un riepilogo dell'ordine.
Per creare l'applicazione
Scegliere Nuovo progetto dal menu File. Verrà visualizzata la finestra di dialogo Nuovo progetto.
Nella finestra Tipi progetto selezionare Visual Basic, Windows, se non sono già selezionati, quindi selezionare Applicazione Windows nella finestra Modelli.
Nella casella Nome della finestra Proprietà immettere TeddyBearProject e scegliere OK. Il progetto verrà aggiunto a Esplora soluzioni e verrà visualizzato Progettazione Windows Form.
Aggiungere i controlli al form e impostare le relative proprietà come indicato.
Controllo
Proprietà
Valori delle proprietà
Etichetta
Nome
Testo
customerLabel
Bear Order Form
TextBox
Nome
Testo
customerName
Nome cliente
Etichetta
Nome
Testo
bearColorLabel
Available Colors
ComboBox
Nome
Items
Testo
bearColor
Black, Brown, Spotted
Bear Color
Etichetta
Nome
Testo
bearSizeLabel
Available Sizes
ComboBox
Nome
Items
Testo
bearSize
Small, Normal, Large
Size
Button
Nome
Testo
order
Ordine
Aggiunta di funzionalità
Dopo aver aggiunto e impostato i controlli e le relative proprietà, è necessario inserire il codice che ne consente il funzionamento. Utilizzando il codice che segue è possibile gestire l'evento Click per il pulsante Ordine e visualizzare un messaggio per il cliente.
Per aggiungere funzionalità al form e ai relativi controlli
Aggiungere il codice seguente all'evento Click del pulsante Ordine.
Dim bearOrder As String bearOrder = String.Format("You have ordered a {0} {1} bear.", bearSize.SelectedItem, bearColor.SelectedItem) MsgBox(bearOrder)
È ora possibile aggiungere all'applicazione il codice della gestione delle eccezioni strutturata.
Aggiunta di un blocco Try...Catch
Per assicurarsi che il cliente specifichi il colore desiderato per l'orsacchiotto, è possibile aggiungere un'istruzione Try...Catch. È importante tenere presente quanto segue:
Una clausola Catch senza identificatore intercetta tutte le eccezioni.
Una clausola Catch con una clausola When intercetta le eccezioni solo quando l'espressione restituisce True. Il tipo dell'espressione deve essere convertibile in Boolean in modo implicito.
Per aggiungere un semplice blocco Try...Catch
Aggiungere il codice riportato di seguito all'evento Click del pulsante Ordine dopo la sezione che verifica i valori relativi alla dimensione e al colore, ovvero dopo String.Format ("You have ordered a {0} {1} bear.", BearSize.SelectedItem, BearColor.SelectedItem). Se viene rilevato un valore di colore non valido, verrà generata un'eccezione. Nell'aggiungere le istruzioni Try, si consideri che l'editor inserisce automaticamente End Try alla fine dell'istruzione.
Try If bearColor.SelectedIndex < 0 OrElse bearColor.SelectedIndex > 2 Then Throw New System.Exception() End If ' The Catch statement handles errors caused by a lack of bear color. Catch ex As Exception When bearColor.SelectedIndex < 0 bearOrder = String.Format("You must select a bear color!") Finally Beep() ' Beep at the end. End Try
Per aggiungere una clausola Catch aggiuntiva
Aggiungere un nuovo elemento, "Viola", al controllo ComboBox bearColor.
Aggiungere il codice seguente dopo la riga di codice bearOrder = String.Format("You must select a bear color!").
Catch ex As Exception When bearColor.SelectedIndex = 3 bearOrder = String.Format("There are no bears of that color.")
Se necessario, è possibile aggiungere ulteriori clausole Catch.
Test
È ora possibile verificare l'applicazione per assicurarsi che funzioni correttamente.
Per compilare ed eseguire l'applicazione
Scegliere Compila TeddyBearProject dal menu Compila.
Premere F5 per eseguire l'applicazione. Verrà visualizzato il form principale.
Per eseguire il test dell'applicazione
Immettere un nome nella casella di testo Customer Name e selezionare un colore e una dimensione per l'orsacchiotto utilizzando le caselle combinate Available Colors e Available Sizes.
Fare clic sul pulsante Ordine. Se nel passaggio precedente si è selezionato il colore Black, Brown o Spotted, verrà visualizzato un messaggio che indica le dimensioni e il colore dell'orsacchiotto ordinato.
Se non si specifica un colore, verrà visualizzato un messaggio per chiedere di immettere le informazioni necessarie.
Scegliere OK per annullare il messaggio.
Nella casella di testo Available Colors selezionare Viola, quindi fare clic sul pulsante Ordine. Verrà visualizzato un messaggio che informa che non sono disponibili orsacchiotti viola.
Vedere anche
Riferimenti
Istruzione On Error (Visual Basic)
Istruzione Try...Catch...Finally (Visual Basic)
Istruzione Throw (Visual Basic)
Concetti
Cenni preliminari sulla gestione delle eccezioni strutturata per Visual Basic