Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Gestore Eccezioni

  1. #1

    Gestore Eccezioni

    Salve, sto cercando di imparare Java e vorrei realizzare un gestore di eccezioni
    "personalizzato".
    Ho fatto una classe:

    codice:
    public class ExceptionHandler {
    
        String message;
        
        public void handle(Exception e) {
    
            e.printStackTrace();
            message = e.getMessage();
    
            if(message == null)
                message = e.toString();
    
            System.err.println("Error: " + message.trim());
        }
    }
    Esiste un modo più intelligente di farlo? Magari passando l'eccezione al costruttore?
    Una domanda stupida che spero mi faccia risparmiare tempo: che visiblità
    assumono di default gli oggetti dichiarati come campi della classe? Package?
    Altra cosa: volendo usare questo gestore in un'altra classe è corretto fare:

    codice:
    public class ExceptionHandlerUser {
      ExceptionHandler exHandler = null;
      
      public void method() {
        try {
          ..
        }
        catch (Exception e) {
          exHandler.handle(e);
        }
      }
    }
    exHandler ha una corretta inizializzazione? Scusate le domande banali, ma ce la sto
    mettendo davvero tutta.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Se per "gestore" della eccezione intendi un metodo che "incapsula" la visualizzazione (a video) e/o log (su file/db/ecc...) e/o altro, allora potrebbe sicuramente andare bene un banale metodo "di classe" (static) che incapsula tutta la gestione, da invocare poi es. ExceptionHandler.handle(e).

    Se invece per "gestore" intendi un oggetto che incapsula la eccezione e/o altre informazioni relative, magari da usare anche in tempi successivi, allora sarebbe bene istanziare l'oggetto e ovviamente passare la eccezione al costruttore. E chiaramente la classe fornisce all'esterno dei metodi per avere informazioni sulla eccezione, sulle operazioni possibili (es. stampa a video ecc...).

    Ma si potrebbero scegliere anche altre strade, magari intermedie .... dipende tutto da cosa/come vuoi "modellare" le cose.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie sei stato molto chiaro e pratico, al momento mi serve più per capire cosa stia
    succedendo, quindi visualizzare a "video" le stampe dello stack dell'eventuale eccezione.
    Quindi penso di optare per un metodo statico, evitando per ora di istanziare un oggetto
    dedicato.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.