LSSTApplications  10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
Classes | Namespaces | Macros | Typedefs | Functions
Exception.h File Reference
#include <exception>
#include <ostream>
#include <string>
#include <vector>
#include "boost/current_function.hpp"

Go to the source code of this file.

Classes

struct  lsst::pex::exceptions::Tracepoint
 One point in the Traceback vector held by Exception. More...
 
class  lsst::pex::exceptions::Exception
 

Namespaces

 lsst
 < multiple inclusion guard macro
 
 lsst::pex
 
 lsst::pex::exceptions
 

Macros

#define LSST_EXCEPT_HERE   __FILE__, __LINE__, BOOST_CURRENT_FUNCTION
 
#define LSST_EXCEPT(type,...)   type(LSST_EXCEPT_HERE, __VA_ARGS__)
 
#define LSST_EXCEPT_ADD(e, m)   e.addMessage(LSST_EXCEPT_HERE, m)
 
#define LSST_EARGS_TYPED
 
#define LSST_EARGS_UNTYPED   ex_file, ex_line, ex_func, ex_message
 
#define LSST_EXCEPTION_TYPE(t, b, c)
 

Typedefs

typedef std::vector< Tracepoint > lsst::pex::exceptions::Traceback
 

Functions

std::ostream & lsst::pex::exceptions::operator<< (std::ostream &stream, Exception const &e)
 

Macro Definition Documentation

#define LSST_EARGS_TYPED
Value:
char const* ex_file, int ex_line, char const* ex_func, \
std::string const& ex_message

The initial arguments required for new exception subclasses.

Definition at line 55 of file Exception.h.

#define LSST_EARGS_UNTYPED   ex_file, ex_line, ex_func, ex_message

The initial arguments to the base class constructor for new subclasses.

Definition at line 61 of file Exception.h.

#define LSST_EXCEPT (   type,
  ... 
)    type(LSST_EXCEPT_HERE, __VA_ARGS__)

Create an exception with a given type and message and optionally other arguments (dependent on the type).

Parameters
[in]typeC++ type of the exception to be thrown.

Definition at line 46 of file Exception.h.

#define LSST_EXCEPT_ADD (   e,
 
)    e.addMessage(LSST_EXCEPT_HERE, m)

Add the current location and a message to an existing exception before rethrowing it.

Definition at line 51 of file Exception.h.

#define LSST_EXCEPT_HERE   __FILE__, __LINE__, BOOST_CURRENT_FUNCTION

For internal use; gathers the file, line, and function for a tracepoint.

Definition at line 40 of file Exception.h.

#define LSST_EXCEPTION_TYPE (   t,
  b,
 
)
Value:
class t : public b { \
public: \
t(std::string const & message) : b(message) { }; \
virtual char const* getType(void) const throw() { return #c " *"; }; \
virtual lsst::pex::exceptions::Exception* clone(void) const { \
return new t(*this); \
}; \
};
#define LSST_EARGS_UNTYPED
Definition: Exception.h:61
#define LSST_EARGS_TYPED
Definition: Exception.h:55
afw::table::Key< double > b

Macro used to define new types of exceptions without additional data.

Parameters
[in]tType of the exception.
[in]bBase class of the exception.
[in]cC++ class of the exception (fully specified).

Definition at line 68 of file Exception.h.