Class WebStorageException

java.lang.Object
java.lang.Throwable
java.lang.Exception
it.rol.exception.WebStorageException
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
NotFoundException

public class WebStorageException extends Exception

Questa eccezione viene ritornata quando si verifica un generico errore SQL. In questo modo si maschera agli strati superiori dell'applicazione il fatto che si sta usando un database relazionale.

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

    • WebStorageException

      public WebStorageException()

      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.univr.di.uol.CommandException), se il costruttore della propria classe personalizzata sarà utilizzato.

    • WebStorageException

      public WebStorageException(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
    • WebStorageException

      public WebStorageException(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 WebStorageException(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 può fare veramente la differenza.

      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
  • 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