Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    83

    Gestire eccezione non prevista

    Salve a tutti,
    nel mio programma ho gestito tutte le eccezioni previste (quelle per cui è lo stesso Eclipse a costringerti a gestirle via try/catch o throws) generando dei log.

    Ci sono però alcune eccezioni, ad esempio la NullPointerException, che si possono verificare in qualsiasi momento (se ad esempio leggo dal DB una tabella vuota, e assegno il valore ad una variabile)

    Come faccio ad "acchiappare" queste eccezioni ed a gestirle?

    Grazie del consiglio

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,306

    Re: Gestire eccezione non prevista

    Originariamente inviato da onieliv
    Salve a tutti,
    nel mio programma ho gestito tutte le eccezioni previste (quelle per cui è lo stesso Eclipse a costringerti a gestirle via try/catch o throws) generando dei log.

    Ci sono però alcune eccezioni, ad esempio la NullPointerException, che si possono verificare in qualsiasi momento (se ad esempio leggo dal DB una tabella vuota, e assegno il valore ad una variabile)

    Come faccio ad "acchiappare" queste eccezioni ed a gestirle?

    Grazie del consiglio
    Sempre con un try/catch... o, più semplicemente, con una clausola catch supplementare.
    Mi pare, però, una inutile perdita di tempo gestire una NullPointerException tramite un try/catch. Nel senso che il programma dovrebbe già di per se contenere del codice adatto alla gestione di questi casi particolari. Se, ad esempio, richiami un metodo che può ritornare un valore "null", è onere del programmatore controllare che il valore ritornato non sia null.

    codice:
    MioOggetto mo = metodo( ... );
    if (mo != null) {
       ... // Vado avanti e uso l'oggetto
    } else {
       // Mi comporto di conseguenza
    }
    Se viene sollevata una NullPointerException è evidente che il programma non sta tenendo conto di particolari situazioni... a quel punto ha ben poco senso "catturare" l'exception: conviene manutenere il programma (o verificarne i dati).

    PS: non è Eclispe che ti costringe a gestirle, è il compilatore... solo che Eclipse lo sa e te lo segnala.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.