|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
47 #define OGDF_FLUSH_OUTPUTS std::cout << std::flush, ::ogdf::Logger::sfout() << std::flush
58 #define OGDF_THROW_PARAM(CLASS, PARAM) OGDF_FLUSH_OUTPUTS, throw CLASS(PARAM)
67 #define OGDF_THROW(CLASS) OGDF_FLUSH_OUTPUTS, throw CLASS()
70 # undef OGDF_THROW_PARAM
71 # define OGDF_THROW_PARAM(CLASS, PARAM) \
72 OGDF_FLUSH_OUTPUTS, throw CLASS(PARAM, __FILE__, __LINE__)
74 # define OGDF_THROW(CLASS) OGDF_FLUSH_OUTPUTS, throw CLASS(__FILE__, __LINE__)
177 explicit Exception(
const char* file =
nullptr,
int line = -1) : m_file(file), m_line(line) { }
183 const char*
file()
const {
return m_file; }
189 int line()
const {
return m_line; }
191 const char*
what() const noexcept
override {
return "Unknown OGDF Exception"; }
252 :
Exception(file, line), m_exceptionCode(code) { }
261 const char*
what() const noexcept
override {
return codeToString(m_exceptionCode); }
278 :
Exception(file, line), m_exceptionCode(code) { }
Exception(const char *file=nullptr, int line=-1)
Constructs an exception.
The namespace for all OGDF objects.
Exception thrown when a required standard comparer has not been specialized.
Base class of all ogdf exceptions.
@ MissingCallbackImplementation
Exception thrown when result of cast is 0.
AlgorithmFailureException(const char *file=nullptr, int line=-1)
Constructs an algorithm failure exception.
Exception thrown when not enough memory is available to execute an algorithm.
@ Sort
sequence not sorted
@ ForbiddenCrossing
crossing forbidden but necessary
DynamicCastFailedException(const char *file=nullptr, int line=-1)
Constructs a dynamic cast failed exception.
@ NoFlow
min-cost flow could not find a legal flow
AlgorithmFailureCode m_exceptionCode
The error code specifying the exception.
const char * m_file
Source file where exception occurred.
Contains logging functionality.
LibraryNotSupportedCode exceptionCode() const
Returns the error code of the exception.
LibraryNotSupportedException(LibraryNotSupportedCode code, const char *file=nullptr, int line=-1)
Constructs a library not supported exception.
Exception thrown when an algorithm realizes an internal bug that prevents it from continuing.
LibraryNotSupportedCode
Code for the library which was intended to get used, but its use is not supported.
@ Abacus
ABACUS not supported.
@ Cgal
CGAL not supported.
const char * file() const
Returns the name of the source file where exception was thrown.
InsufficientMemoryException(const char *file=nullptr, int line=-1)
Constructs an insufficient memory exception.
NoStdComparerException(const char *file=nullptr, int line=-1)
Constructs a no standard comparer available exception.
AlgorithmFailureCode exceptionCode() const
Returns the error code of the exception.
const char * what() const noexcept override
@ TimelimitExceeded
it took too long
LibraryNotSupportedCode m_exceptionCode
The error code specifying the exception.
@ NoSolutionFound
couldn't solve the problem
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
@ IllegalParameter
function parameter is illegal
Exception thrown when a data type is not supported by a generic function.
@ IndexOutOfBounds
index out of bounds
AlgorithmFailureException(AlgorithmFailureCode code, const char *file=nullptr, int line=-1)
Constructs an algorithm failure exception.
const char * what() const noexcept override
Exception thrown when an external library shall be used which is not supported.
@ FunctionNotImplemented
the used library doesn't support that function
@ Coin
COIN not supported.
LibraryNotSupportedException(const char *file=nullptr, int line=-1)
Constructs a library not supported exception.
int m_line
Line number where exception occurred.
int line() const
Returns the line number where the exception was thrown.
AlgorithmFailureCode
Code for an internal failure condition.
TypeNotSupportedException(const char *file=nullptr, int line=-1)
Constructs a type-not-supported exception.
@ ExternalFace
external face not correct