Problemi di funzionamento: ricerca ed eliminazione di errori di runtime

Aggiornamento: novembre 2007

In questa lezione verrà descritto come eseguire il debug del programma e correggere gli errori di runtime.

Come descritto in precedenza, gli errori di runtime si verificano quando il programma tenta di eseguire un'operazione che non può essere completata. In questo caso, il programma viene interrotto e viene visualizzato un messaggio di errore. Per continuare l'esecuzione del programma, è necessario eseguire il debug dell'errore e correggerlo.

La maggior parte degli errori di runtime si verifica perché lo sviluppatore ha commesso un errore durante la scrittura del codice, ad esempio non ha assegnato un valore a una variabile prima di utilizzarla. Quando viene rilevato l'errore in fase di esecuzione, il programma viene interrotto e nell'editor di codice viene visualizzata la finestra di dialogo Informazioni sulle eccezioni. A questo punto, il programma si trova in modalità di interruzione, nella quale è possibile eseguire il debug.

Oltre alla descrizione dell'errore, nella finestra di dialogo Informazioni sulle eccezioni sono presenti alcuni suggerimenti per la risoluzione del problema in cui è indicata la possibile causa. È possibile fare clic sui suggerimenti per visualizzare gli argomenti della Guida contenenti informazioni più dettagliate.

Per continuare l'esecuzione del programma, è necessario correggere l'errore. A tal fine, occorre esaminare il codice per individuare la causa. Se ad esempio si ha il sospetto che sia stato impostato un valore non corretto per una variabile, è possibile utilizzare IntelliSense nella modalità di interruzione per visualizzare il valore in questione. Quando si posiziona il puntatore del mouse sulla variabile nell'editor di codice, il relativo valore viene visualizzato in una descrizione comandi. Se il valore non corrisponde a quello previsto, esaminare il codice precedente per identificare la riga in cui è stato impostato, quindi correggere il codice e continuare.

Per controllare il valore di una variabile

  1. Scegliere Nuovo progetto dal menu File.

  2. Nel riquadro Modelli della finestra di dialogo Nuovo progetto fare clic su Applicazione Windows.

  3. Digitare RunTimeErrors nella casella Nome, quindi scegliere OK.

    Verrà aperto un nuovo progetto Windows Form.

  4. Fare doppio clic sul form per aprire l'editor di codice.

  5. Nel gestore eventi Form_Load aggiungere il codice riportato di seguito.

    Dim miles As Integer = 0
    Dim hours As Integer = 0
    Dim speed As Integer = 0
    
    
    
    miles = 55
    speed = miles / hours
    MsgBox(CStr(speed) & " miles per hour")
    
    
    
  6. Premere F5 per eseguire il programma. Verrà visualizzata una finestra di dialogo Informazioni sulle eccezioni in cui viene segnalato che l'eccezione OverflowException non è stata gestita.

    Una linea punteggiata che si estende dalla finestra di dialogo al file di codice indica la riga di codice che ha provocato l'errore.

    Si noti che nella finestra Informazioni sulle eccezioni viene in primo luogo suggerito di verificare che non venga eseguita una divisione per zero.

  7. Mantenere il puntatore del mouse sulla variabile miles per alcuni secondi. Verrà visualizzata la descrizione "miles 55".

  8. Posizionare quindi il puntatore del mouse sulla variabile hours. Verrà visualizzata la descrizione "hours 0".

    Poiché non è possibile dividere un numero per zero e il valore di hours è zero, l'errore è dovuto al mancato aggiornamento del valore di hours.

  9. Aggiungere la riga di codice riportata di seguito prima di miles = 55.

    hours = 2
    
    
    
  10. Fare clic sulla freccia gialla all'estremità sinistra del codice e trascinarla verso l'alto fino alla riga hours = 2.

    In questo modo, l'esecuzione del programma potrà continuare a partire da tale riga anziché da quella contenente l'errore. Ciò è necessario per eseguire la nuova riga di codice aggiunta, in modo tale che la correzione dell'errore possa essere riconosciuta.

  11. Premere F5 per continuare l'esecuzione del programma. Verrà visualizzata una finestra di dialogo contenente la seguente stringa: "28 miles per hour".

In questa lezione è stato descritto come individuare e correggere errori di runtime. Nella lezione successiva verranno fornite informazioni sul terzo tipo di errore di programmazione, ossia gli errori logici. Prima di proseguire con la lezione sugli errori logici, è possibile leggere le informazioni relative alle tecniche di debug più avanzate in Informazioni dettagliate: test del codice nella finestra di controllo immediato.

Lezione successiva: Comportamento imprevisto del programma: ricerca di errori logici

Aggiunte alla community

Mostra: