Class CommandException

java.lang.Object
java.lang.Throwable
java.lang.Exception
it.rol.exception.CommandException
All Implemented Interfaces:
Serializable

public class CommandException extends Exception

Semplice classe che permette di isolare eventuali errori generati dalle classi che implementano l'interfaccia Command.

Tutte le eccezioni personalizzate devono sempre avere Throwable come superclasse, altrimenti esse non definiranno un'eccezione.
Sebbene una eccezione personalizzata possa essere derivata da una qualsiasi delle eccezioni standard, la miglior strategia è derivarla direttamente dalla classe Exception.
Ciò permetterà al compilatore di tener traccia di dove tali eccezioni siano lanciate nel flusso del programma, e di identificare se esse devono essere catturate oppure dichiarate come propagabili in un metodo.
Se si usasse RuntimeException o una delle sue sottoclassi, il controllo del compilatore nei blocchi catch per le eccezioni personalizzate sarebbe soppresso.


Author:
Giovanroberto Torre
See Also:
  • Constructor Details

    • CommandException

      public CommandException()

      Per convenzione, le eccezioni personalizzate devono includere un costruttore di default.
      Il messaggio memorizzato nella superclasse dell'eccezione personalizzata, cioè Exception - di fatto in Throwable, che è la superclasse di Exception - sarà automaticamente inizializzato con il nome della classe personalizzata (qui: it.rol.exception.CommandException), se il costruttore della propria classe personalizzata sarà utilizzato.

    • CommandException

      public CommandException(String msg)

      Per convenzione, le eccezioni personalizzate devono includere, oltre a un costruttore di default, anche un costruttore che accetta come parametro un oggetto String.

      La String passata a questo secondo costruttore sarà aggiunta al nome della classe per formare il messaggio memorizzato nell'oggetto eccezione.

      Parameters:
      msg - una String che verrà aggiunta a tempo di esecuzione al nome della classe per formare il messaggio memorizzato nell'eccezione
    • CommandException

      public CommandException(String msg, Throwable e)

      Richiama il costruttore della superclasse che accetta uno specifico messaggio di dettaglio e richiama a sua volta il metodo fillInStackTrace() per inizializzare i dati della traccia dello stack nell'oggetto (figlio di) Throwable, appena creato.

      Oltre a questo comportamento, identico a quello del costruttore convenzionale:

      public CommandException(String msg),

      il presente costruttore aggiunge la stampa dello stack dell'eccezione generata, passata come parametro, per l'identificazione esatta del punto del codice in cui la stessa si è verificata.

      È evidente che il richiamo del costruttore da superclasse fatto in questo modo è piú oneroso del richiamo standard convenzionale, ma il vantaggio che si ricava ottenendo il numero di riga esatto in cui si è verificata l'eccezione (rispetto al generico numero di riga in cui viene gestita l'eccezione nel catch) in fase di debug è veramente impagabile.

      Parameters:
      msg - una String che verrà aggiunta a tempo di esecuzione al nome della classe per formare il messaggio memorizzato nell'eccezione
      e - l'eccezione che si è verificata per l'aggiunta al messaggio della traccia dello stack
      Since:
      1.0
    • CommandException

      public CommandException(Throwable e)
      Parameters:
      e -
  • Method Details

    • getLocalizedMessage

      public static String getLocalizedMessage(Throwable e)

      Recupera la traccia dello stack di esecuzione di un oggetto Throwable passato come argomento e la restituisce al chiamante sotto forma di oggetto String.

      Parameters:
      e - un'eccezione di cui si vuol recuperare la traccia dello stack di esecuzione
      Returns:
      una String contenente la traccia dello stack di esecuzione dell'oggetto Throwable passato come argomento
      Since:
      1.0