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.