Condividi tramite


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

  1. Scegliere Nuovo progetto dal menu File. Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. Nella finestra Tipi progetto selezionare Visual Basic, Windows, se non sono già selezionati, quindi selezionare Applicazione Windows nella finestra Modelli.

  3. Nella casella Nome della finestra Proprietà immettere TeddyBearProject e scegliere OK. Il progetto verrà aggiunto a Esplora soluzioni e verrà visualizzato Progettazione Windows Form.

  4. 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

  1. Aggiungere un nuovo elemento, "Viola", al controllo ComboBox bearColor.

  2. 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

  1. Scegliere Compila TeddyBearProject dal menu Compila.

  2. Premere F5 per eseguire l'applicazione. Verrà visualizzato il form principale.

Per eseguire il test dell'applicazione

  1. 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.

  2. 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.

  3. Scegliere OK per annullare il messaggio.

  4. 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

Altre risorse

Attività di gestione delle eccezioni (Visual Basic)