LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
LSST Data Management Base Package
|
Provides consistent interface for LSST exceptions. More...
#include <Exception.h>
Public Member Functions | |
Exception (char const *file, int line, char const *func, std::string const &message) | |
Standard constructor, intended for C++ use via the LSST_EXCEPT() macro. | |
Exception (std::string const &message) | |
Message-only constructor, intended for use from Python only. | |
virtual | ~Exception (void) noexcept |
void | addMessage (char const *file, int line, char const *func, std::string const &message) |
Add a tracepoint and a message to an exception before rethrowing it (access via LSST_EXCEPT_ADD). | |
Traceback const & | getTraceback (void) const noexcept |
Retrieve the list of tracepoints associated with an exception. | |
virtual std::ostream & | addToStream (std::ostream &stream) const |
Add a text representation of this exception, including its traceback with messages, to a stream. | |
virtual char const * | what (void) const noexcept |
Return a character string summarizing this exception. | |
virtual char const * | getType (void) const noexcept |
Return the fully-specified C++ type of a pointer to the exception. | |
virtual Exception * | clone (void) const |
Return a copy of the exception as an Exception pointer. | |
T | what (T... args) |
Provides consistent interface for LSST exceptions.
All exceptions defined by the LSST Stack are derived from this class. Code should not throw or catch Exception directly, but should instead be written in terms of the appropriate subclasses (e.g., catch RuntimeError to handle all unknown errors).
In Python, this exception inherits from builtins.Exception
.
Definition at line 107 of file Exception.h.
Exception::Exception | ( | char const * | file, |
int | line, | ||
char const * | func, | ||
std::string const & | message ) |
Standard constructor, intended for C++ use via the LSST_EXCEPT() macro.
[in] | file | Filename (automatically passed in by macro). |
[in] | line | Line number (automatically passed in by macro). |
[in] | func | Function name (automatically passed in by macro). |
[in] | message | Informational string attached to exception. |
Definition at line 42 of file Exception.cc.
|
explicit |
Message-only constructor, intended for use from Python only.
While this constructor can be called from C++, it's better to use the LSST_EXCEPT macro there, which stores file/line/function information as well. In Python, however, that information is stored outside the exception, so we don't want to duplicate it, and hence this constructor is invoked instead.
[in] | message | Informational string attached to exception. |
Definition at line 45 of file Exception.cc.
|
virtualnoexcept |
Definition at line 47 of file Exception.cc.
void Exception::addMessage | ( | char const * | file, |
int | line, | ||
char const * | func, | ||
std::string const & | message ) |
Add a tracepoint and a message to an exception before rethrowing it (access via LSST_EXCEPT_ADD).
[in] | file | Filename (automatically passed in by macro). |
[in] | line | Line number (automatically passed in by macro). |
[in] | func | Function name (automatically passed in by macro). |
[in] | message | Additional message to associate with this rethrow. |
Definition at line 49 of file Exception.cc.
|
virtual |
Add a text representation of this exception, including its traceback with messages, to a stream.
[in] | stream | Reference to an output stream. |
Definition at line 81 of file Exception.cc.
|
virtual |
Return a copy of the exception as an Exception pointer.
Can be overridden by derived classes that add data or methods.
Reimplemented in lsst::meas::base::MeasurementError.
Definition at line 103 of file Exception.cc.
|
noexcept |
Retrieve the list of tracepoints associated with an exception.
Definition at line 79 of file Exception.cc.
|
virtualnoexcept |
Return the fully-specified C++ type of a pointer to the exception.
This is overridden by derived classes (automatically if the LSST_EXCEPTION_TYPE macro is used). It is used by the Python interface.
Reimplemented in lsst::meas::base::MeasurementError.
Definition at line 101 of file Exception.cc.
|
virtualnoexcept |
Return a character string summarizing this exception.
This combines all the messages added to the exception, but not the type or traceback (use the stream operator to get this more detailed information).
Not allowed to throw any exceptions.
Definition at line 99 of file Exception.cc.