Procedura dettagliata: gestione delle eccezioni strutturata
Aggiornamento: novembre 2007
Anche se è ancora possibile utilizzare l'istruzione On Error per la gestione delle eccezioni nel codice, in Visual Basic 2005 è 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.
![]() |
---|
Non è possibile utilizzare sia la gestione degli errori strutturata sia la gestione degli errori non strutturata in una stessa routine. |
![]() |
---|
Le finestre di dialogo e i comandi di menu visualizzati potrebbero non corrispondere a quelli descritti nella Guida in linea in quanto dipendono dall'edizione o dalle impostazioni attive. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. 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à
Label
Name
Text
customerLabel
Bear Order Form
TextBox
Name
Text
customerName
Customer Name
Label
Name
Text
bearColorLabel
Available Colors
ComboBox
Name
Items
Text
bearColor
Black, Brown, Spotted
Bear Color
Label
Name
Text
bearSizeLabel
Available Sizes
ComboBox
Name
Items
Text
bearSize
Small, Normal, Large
Size
Button
Name
Text
order
Order
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) Or _ (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 creare ed eseguire l'applicazione
Scegliere Genera TeddyBearProject dal menu Genera.
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
Concetti
Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic
Riferimenti
Istruzione On Error (Visual Basic)
Istruzione Try...Catch...Finally (Visual Basic)
Istruzione Throw (Visual Basic)