Condividi tramite


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.

Nota:

Non è possibile utilizzare sia la gestione degli errori strutturata sia la gestione degli errori non strutturata in una stessa routine.

Nota:

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

  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à

    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

  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 creare ed eseguire l'applicazione

  1. Scegliere Genera TeddyBearProject dal menu Genera.

  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

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)

Altre risorse

Attività di gestione delle eccezioni