splign_app_exception.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:6k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: splign_app_exception.hpp,v $
  4.  * PRODUCTION Revision 1000.2  2004/04/12 17:48:53  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.3
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef ALGO_ALIGN_SPLIGN_SPLIGNAPP_EXCEPTION__HPP
  10. #define ALGO_ALIGN_SPLIGN_SPLIGNAPP_EXCEPTION__HPP
  11. /* $Id: splign_app_exception.hpp,v 1000.2 2004/04/12 17:48:53 gouriano Exp $
  12. * ===========================================================================
  13. *
  14. *                            public DOMAIN NOTICE                          
  15. *               National Center for Biotechnology Information
  16. *                                                                          
  17. *  This software/database is a "United States Government Work" under the   
  18. *  terms of the United States Copyright Act.  It was written as part of    
  19. *  the author's official duties as a United States Government employee and 
  20. *  thus cannot be copyrighted.  This software/database is freely available 
  21. *  to the public for use. The National Library of Medicine and the U.S.    
  22. *  Government have not placed any restriction on its use or reproduction.  
  23. *                                                                          
  24. *  Although all reasonable efforts have been taken to ensure the accuracy  
  25. *  and reliability of the software and data, the NLM and the U.S.          
  26. *  Government do not and cannot warrant the performance or results that    
  27. *  may be obtained by using this software or data. The NLM and the U.S.    
  28. *  Government disclaim all warranties, express or implied, including       
  29. *  warranties of performance, merchantability or fitness for any particular
  30. *  purpose.                                                                
  31. *                                                                          
  32. *  Please cite the author in any work or product based on this material.   
  33. *
  34. * ===========================================================================
  35. *
  36. * Author:  Yuri Kapustin
  37. *
  38. * File Description:
  39. *   CSplignApp exceptions
  40. *
  41. */
  42. #include <corelib/ncbiexpt.hpp>
  43. BEGIN_NCBI_SCOPE
  44. class CSplignAppException : public CException
  45. {
  46. public:
  47.     enum EErrCode {
  48.         eInternal,
  49.         eBadParameter,
  50.         eCannotOpenFile,
  51. eCannotReadFile,
  52. eErrorReadingIndexFile,
  53. eBadData,
  54. eGeneral
  55.     };
  56.     virtual const char* GetErrCodeString(void) const {
  57.         switch ( GetErrCode() ) {
  58.         case eInternal:
  59.             return "Internal error";
  60.         case eBadParameter:
  61.             return "One or more parameters are invalid";
  62.         case eCannotOpenFile:
  63.             return "Unable to open file";
  64.         case eCannotReadFile:
  65.             return "Unable to read file";
  66.         case eErrorReadingIndexFile:
  67.             return "Error encountered while reading index file";
  68.         case eBadData:
  69.             return "Error in input data";
  70.         case eGeneral:
  71.             return "General exception";
  72.         default:
  73.             return CException::GetErrCodeString();
  74.         }
  75.     }
  76.     NCBI_EXCEPTION_DEFAULT(CSplignAppException, CException);
  77. };
  78. //  CSplign exceptions
  79. //
  80. class CSplignException : public CException
  81. {
  82. public:
  83.     enum EErrCode {
  84.         eInternal,
  85.         eBadParameter,
  86. eNotInitialized
  87.     };
  88.     virtual const char* GetErrCodeString(void) const {
  89.         switch ( GetErrCode() ) {
  90.         case eInternal:
  91.             return "Internal error";
  92.         case eBadParameter:
  93.             return "One or more parameters passed are invalid";
  94.         case eNotInitialized:
  95.             return "Splign object not properly initialized";
  96.         default:
  97.             return CException::GetErrCodeString();
  98.         }
  99.     }
  100.     NCBI_EXCEPTION_DEFAULT(CSplignException, CException);
  101. };
  102. //  HitFilter exceptions - will be moved to hthe hit filtering library
  103. //
  104. class CHitFilterException: public CException
  105. {
  106. public:
  107.     enum EErrCode {
  108.         eInternal
  109.     };
  110.     virtual const char* GetErrCodeString(void) const {
  111.         switch ( GetErrCode() ) {
  112.         case eInternal:
  113.             return "Internal error";
  114.         default:
  115.             return CException::GetErrCodeString();
  116.         }
  117.     }
  118.     NCBI_EXCEPTION_DEFAULT(CHitFilterException,CException);
  119. };
  120. class CHitException : public CHitFilterException
  121. {
  122. public:
  123.     enum EErrCode {
  124.         eFormat
  125.     };
  126.     virtual const char* GetErrCodeString(void) const {
  127.         switch ( GetErrCode() ) {
  128.         case eFormat:
  129.             return "Input line format error";
  130.         default:
  131.             return CException::GetErrCodeString();
  132.         }
  133.     }
  134.     NCBI_EXCEPTION_DEFAULT(CHitException, CHitFilterException);
  135. };
  136. class CHitAccessorException : public CHitFilterException
  137. {
  138. public:
  139.     enum EErrCode {
  140.         eInputStream,
  141.         eHitException
  142.     };
  143.     virtual const char* GetErrCodeString(void) const {
  144.         switch ( GetErrCode() ) {
  145.         case eInputStream:
  146.             return "Input stream unavailable";
  147.         case eHitException:
  148.             return "Hit level exception";
  149.         default:
  150.             return CException::GetErrCodeString();
  151.         }
  152.     }
  153.     NCBI_EXCEPTION_DEFAULT(CHitAccessorException, CHitFilterException);
  154. };
  155. END_NCBI_SCOPE
  156. /*
  157.  * ===========================================================================
  158.  * $Log: splign_app_exception.hpp,v $
  159.  * Revision 1000.2  2004/04/12 17:48:53  gouriano
  160.  * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.3
  161.  *
  162.  * Revision 1.3  2004/03/01 20:07:26  kapustin
  163.  * Add eBadData type
  164.  *
  165.  * Revision 1.2  2003/11/05 20:25:17  kapustin
  166.  * Update exception code list for splign app exception
  167.  *
  168.  * Revision 1.1  2003/10/30 19:37:20  kapustin
  169.  * Initial toolkit revision
  170.  *
  171.   * ===========================================================================
  172.  */
  173. #endif