001 package hirondelle.web4j.database;
002
003 import hirondelle.web4j.model.AppException;
004
005 /**
006 The only checked exception (excluding subclasses of this class) emitted
007 by the data layer.
008
009 <P>This class is an example of
010 <a href="http://www.javapractices.com/Topic77.cjp">Data Exception Wrapping</a>,
011 and hides the various exceptions which arise from the various flavors
012 of datastore implementation, such as <tt>SQLException</tt>,
013 <tt>IOException</tt>, and <tt>BackingStoreException</tt>.
014
015 <P>Thrown when a low-level, unusual problem is encountered with the data store.
016 Examples of such a problem might include :
017 <ul>
018 <li>faulty db connection
019 <li>failed file input-output
020 <li>inaccesible network connection
021 </ul>
022 */
023 public class DAOException extends AppException {
024
025 /**
026 Constructor.
027
028 <P>Both arguements are passed to
029 {@link AppException#AppException(String, Throwable)}.
030
031 @param aMessage text describing the problem. Must have content.
032 @param aThrowable root cause underlying the problem.
033 */
034 public DAOException(String aMessage, Throwable aThrowable){
035 super(aMessage, aThrowable);
036 }
037 }