libexcept 1.1.19
Stack trace along C++ exceptions
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
exception.h File Reference

Declarations of the exception library. More...

#include <libexcept/stack_trace.h>
#include <map>
#include <stdexcept>
#include <string>
#include <vector>
Include dependency graph for exception.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  libexcept::exception_base_t
 
class  libexcept::exception_t
 
class  libexcept::logic_exception_t
 
class  libexcept::out_of_range_t
 

Namespaces

namespace  libexcept
 

Macros

#define DECLARE_EXCEPTION(base, name)
 
#define DECLARE_LOGIC_ERROR(name)
 
#define DECLARE_MAIN_EXCEPTION(name)
 
#define DECLARE_OUT_OF_RANGE(name)
 

Typedefs

typedef std::map< std::string, std::string > libexcept::parameter_t
 

Enumerations

enum class  libexcept::collect_stack_t {
  libexcept::COLLECT_STACK_NO ,
  libexcept::COLLECT_STACK_YES ,
  libexcept::COLLECT_STACK_COMPLETE
}
 

Functions

 libexcept::DECLARE_LOGIC_ERROR (fixme)
 
collect_stack_t libexcept::get_collect_stack ()
 Tells you whether the general flag is true or false.
 
void libexcept::set_collect_stack (collect_stack_t collect_stack)
 Set a general flag on whether to collect stack traces or not.
 

Detailed Description

This file includes the library exception declarations.

The strong point of the library is its ability to gather a stack trace and attach that information to an exception.

Definition in file exception.h.

Macro Definition Documentation

◆ DECLARE_EXCEPTION

#define DECLARE_EXCEPTION (   base,
  name 
)
Value:
class name : public base { \
public: name(std::string const & msg) : base(msg) {} }

Definition at line 137 of file exception.h.

◆ DECLARE_LOGIC_ERROR

#define DECLARE_LOGIC_ERROR (   name)
Value:
class name : public ::libexcept::logic_exception_t { \
public: name(std::string const & msg) : logic_exception_t(#name ": " + msg) {} }

Definition at line 125 of file exception.h.

◆ DECLARE_MAIN_EXCEPTION

#define DECLARE_MAIN_EXCEPTION (   name)
Value:
class name : public ::libexcept::exception_t { \
public: name(std::string const & msg) : exception_t(#name ": " + msg) {} }

Definition at line 133 of file exception.h.

◆ DECLARE_OUT_OF_RANGE

#define DECLARE_OUT_OF_RANGE (   name)
Value:
class name : public ::libexcept::out_of_range_t { \
public: name(std::string const & msg) : out_of_range_t(#name ": " + msg) {} }

Definition at line 129 of file exception.h.

This document is part of the Snap! Websites Project.

Copyright by Made to Order Software Corp.