Go to the documentation of this file.Go to the SVN repository for this file.
32 #ifndef OBJECTS_SEQALIGN_SEQALIGN_EXCEPTION_HPP
33 #define OBJECTS_SEQALIGN_SEQALIGN_EXCEPTION_HPP
83 switch (GetErrCode()) {
84 case eUnsupported:
return "eUnsupported";
85 case eInvalidAlignment:
return "eInvalidAlignment";
86 case eInvalidInputAlignment:
return "eInvalidInputAlignment";
87 case eInvalidRowNumber:
return "eInvalidRowNumber";
88 case eOutOfRange:
return "eOutOfRange";
89 case eInvalidInputData:
return "eInvalidInputData";
90 case eInvalidSeqId:
return "eInvalidSeqId";
91 case eNotImplemented:
return "eNotImplemented";
99 #define _SEQALIGN_ASSERT(expr) \
103 NCBI_THROW(CSeqalignException, eInvalidAlignment, \
104 string("Assertion failed: ") + #expr); \
virtual const char * GetErrCodeString(void) const override
@ eInvalidSeqId
A sequence identifier is invalid or cannot be resolved within the relevant scope.
@ eUnsupported
Operation that is undefined for the given input Seq-align, and which is impossible to perform.
@ eInvalidAlignment
The current alignment has a structural or data error.
@ eInvalidInputAlignment
An invalid alignmnent passed as input to the current operation has a structural or data error.
NCBI_EXCEPTION_DEFAULT(CSeqalignException, CException)
virtual const char * GetErrCodeString(void) const
Get error code interpreted as text.
#define EXCEPTION_VIRTUAL_BASE
Do not use virtual base classes in exception declaration at all, because in this case derived class s...
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
Defines NCBI C++ exception handling.