LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
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
 Estimate image backgrounds.
 
 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.