1 #ifndef ALGO_GNOMON___GNOMON_EXCEPTION__HPP 2 #define ALGO_GNOMON___GNOMON_EXCEPTION__HPP 3 4 /* $Id: gnomon_exception.hpp 575325 2018-11-27 18:22:00Z ucko $ 5 * =========================================================================== 6 * 7 * PUBLIC DOMAIN NOTICE 8 * National Center for Biotechnology Information 9 * 10 * This software/database is a "United States Government Work" under the 11 * terms of the United States Copyright Act. It was written as part of 12 * the author's official duties as a United States Government employee and 13 * thus cannot be copyrighted. This software/database is freely available 14 * to the public for use. The National Library of Medicine and the U.S. 15 * Government have not placed any restriction on its use or reproduction. 16 * 17 * Although all reasonable efforts have been taken to ensure the accuracy 18 * and reliability of the software and data, the NLM and the U.S. 19 * Government do not and cannot warrant the performance or results that 20 * may be obtained by using this software or data. The NLM and the U.S. 21 * Government disclaim all warranties, express or implied, including 22 * warranties of performance, merchantability or fitness for any particular 23 * purpose. 24 * 25 * Please cite the author in any work or product based on this material. 26 * 27 * =========================================================================== 28 * 29 * Authors: Mike DiCuccio 30 * 31 * File Description: 32 * 33 */ 34 35 #include <corelib/ncbiexpt.hpp> 36 37 BEGIN_NCBI_SCOPE 38 BEGIN_SCOPE(gnomon) 39 40 class CGnomonException : EXCEPTION_VIRTUAL_BASE public CException 41 { 42 public: 43 // Enumerated list of document management errors 44 enum EErrCode { 45 eGenericError, 46 eMemoryLimit 47 }; 48 49 // Translate the specific error code into a string representations of 50 // that error code. GetErrCodeString(void) const51 virtual const char* GetErrCodeString(void) const override 52 { 53 switch (GetErrCode()) { 54 case eGenericError: return "eGenericError"; 55 case eMemoryLimit: return "eMemoryLimit"; 56 default: return CException::GetErrCodeString(); 57 } 58 } 59 60 NCBI_EXCEPTION_DEFAULT(CGnomonException, CException); 61 }; 62 63 64 END_SCOPE(gnomon) 65 END_NCBI_SCOPE 66 67 #endif // ALGO_GNOMON___GNOMON_EXCEPTION__HPP 68