1 #ifndef OBJTOOLS_WRITERS__WRITER_EXCEPTION_HPP 2 #define OBJTOOLS_WRITERS__WRITER_EXCEPTION_HPP 3 4 /* $Id: writer_exception.hpp 632624 2021-06-03 17:38:23Z ivanov $ 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: Josh Cherry 30 * 31 * File Description: Exception classes for objtools/writers 32 * 33 */ 34 35 36 #include <corelib/ncbiexpt.hpp> 37 38 BEGIN_NCBI_SCOPE 39 40 class NCBI_XOBJWRITE_EXPORT CObjWriterException : public CException { 41 public: 42 enum EErrCode { 43 /// Argument validation failed 44 eArgErr, 45 eBadInput, 46 eInterrupted, 47 eInternal, 48 }; 49 GetErrCodeString() const50 virtual const char* GetErrCodeString() const override 51 { 52 switch (GetErrCode()) { 53 case eArgErr: 54 return "eArgErr"; 55 case eBadInput: 56 return "eBadInput"; 57 case eInterrupted: 58 return "eInterrpted"; 59 case eInternal: 60 return "eInternal"; 61 default: 62 return CException::GetErrCodeString(); 63 } 64 } 65 66 /// Include standard NCBI exception behavior. 67 NCBI_EXCEPTION_DEFAULT(CObjWriterException, CException); 68 }; 69 70 END_NCBI_SCOPE 71 72 #endif // OBJTOOLS_WRITERS__WRITER_EXCEPTION_HPP 73 74