1 #ifndef FWCore_Utilities_Exception_h
2 #define FWCore_Utilities_Exception_h
40 #include "boost/type_traits/is_base_and_derived.hpp"
52 template <
typename T,
bool b>
struct Desired;
59 template <
typename BASE,
typename DERIVED>
72 explicit Exception(
char const* aCategory);
95 virtual char const* what()
const throw();
101 std::list<std::string>
const& context()
const;
102 std::list<std::string>
const& additionalInfo()
const;
105 void raise() {rethrow();}
109 void append(
char const* more_information);
113 void clearAdditionalInfo();
116 void addContext(
char const* context);
119 void addAdditionalInfo(
char const*
info);
121 void setContext(std::list<std::string>
const& context);
122 void setAdditionalInfo(std::list<std::string>
const&
info);
124 bool alreadyPrinted()
const;
125 void setAlreadyPrinted(
bool value);
149 template <
typename E,
typename T>
154 template <
typename E,
typename T>
159 template <
typename E>
164 template <
typename E>
167 operator<<(E
const& e, std::ostream&(*
f)(std::ostream&));
170 template <
typename E>
173 operator<<(E& e, std::ios_base&(*
f)(std::ios_base&));
175 template <
typename E>
178 operator<<(E
const& e, std::ios_base&(*
f)(std::ios_base&));
199 std::list<std::string> history()
const;
204 virtual void rethrow();
205 virtual int returnCode_()
const;
226 template <
typename E,
typename T>
235 template <
typename E,
typename T>
240 E& ref =
const_cast<E&
>(
e);
245 template <
typename E>
254 template <
typename E>
259 E& ref =
const_cast<E&
>(
e);
264 template <
typename E>
274 template <
typename E>
279 E& ref =
const_cast<E&
>(
e);
void swap(ora::Record &rh, ora::Record &lh)
std::list< std::string > additionalInfo_
virtual std::string explainSelf() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
std::list< std::string > context_
std::ostream & operator<<(std::ostream &os, MD5Result const &r)