|
IODA
|
The ioda exception class. More...
#include <Exception.h>


Public Member Functions | |
| Exception (const ::ioda::source_location &loc=source_location::current(), const Options &opts=Options{}) | |
| Exception (const char *msg, const ::ioda::source_location &loc=source_location::current(), const Options &opts=Options{}) | |
| virtual | ~Exception () noexcept |
| virtual const char * | what () const noexcept |
| Print the error message. More... | |
| template<class T > | |
| Exception & | add (const std::string &key, const T value) |
| Add a key-value pair to the error message. More... | |
Private Member Functions | |
| void | invalidate () |
| void | add_source_location (const ::ioda::source_location &loc) |
Private Attributes | |
| Options | opts_ |
| std::string | emessage_ |
The ioda exception class.
IODA is used to ingest data from external sources (ioda-converters), provides the runtime interface for JEDI's data access, and is used to analyze files for offline diagnostics. As a result, ioda is perhaps the one jedi component that must build everywhere with minimal dependencies. We do not want to deploy the full stack in all situations, particularly in difficult-to-configure Python environments (Anaconda), so we do not want to use eckit exceptions in the core ioda-engines code.
This class is the default exception class for ioda. All ioda errors should use this class.
Definition at line 54 of file Exception.h.
| Exception::Exception | ( | const ::ioda::source_location & | loc = source_location::current(), |
| const Options & | opts = Options{} |
||
| ) |
|
explicit |
|
virtualdefaultnoexcept |
|
inline |
Add a key-value pair to the error message.
Definition at line 75 of file Exception.h.


|
private |
Definition at line 28 of file Exception.cpp.


|
private |
Definition at line 26 of file Exception.cpp.
|
virtualnoexcept |
Print the error message.
Definition at line 35 of file Exception.cpp.

|
mutableprivate |
Definition at line 56 of file Exception.h.
|
private |
Definition at line 55 of file Exception.h.