hpp-util  4.9.0
Debugging tools for the HPP project.
Macros forc std::exception

Macros

#define HPP_THROW(TYPE, MSG)   throw ::hpp::ExceptionFactory<TYPE>() << MSG << ::hpp::ThrowException()
 Throw an exception of type using MSG as a string stream. More...
 
#define HPP_THROW_WITH_LINEINFO(TYPE, MSG)   HPP_THROW(TYPE,MSG << " at " << __FILE__ << ":" << __LINE__)
 Throw an exception of type using MSG as a string stream. More...
 

Detailed Description

It eases throwing exceptions built from string stream. You can use equivalently

HPP_THROW(std::runtime_error, "message" << variable);

or

HPP_THROW_WITH_LINEINFO(std::runtime_error, "message" << variable);

or

throw ::hpp::ExceptionFactory<std::runtime_error>() << "message" << variable << ::hpp::ThrowException();

Macro Definition Documentation

◆ HPP_THROW

#define HPP_THROW (   TYPE,
  MSG 
)    throw ::hpp::ExceptionFactory<TYPE>() << MSG << ::hpp::ThrowException()

Throw an exception of type using MSG as a string stream.

HPP_THROW(std::runtime_error, "message" << variable);

◆ HPP_THROW_WITH_LINEINFO

#define HPP_THROW_WITH_LINEINFO (   TYPE,
  MSG 
)    HPP_THROW(TYPE,MSG << " at " << __FILE__ << ":" << __LINE__)

Throw an exception of type using MSG as a string stream.

HPP_THROW_WITH_LINEINFO(std::runtime_error>, "message" << variable);