\section{Basic\-Exception.h File Reference}
\label{_basic_exception_8h}\index{BasicException.h@{BasicException.h}}
{\tt \#include \char`\"{}Basic\-File\-Location.h\char`\"{}}\par
{\tt \#include \char`\"{}Basic\-Smart\-Pointer.h\char`\"{}}\par
{\tt \#include \char`\"{}Basic\-Debugger.h\char`\"{}}\par
{\tt \#include \char`\"{}Zap.h\char`\"{}}\par
{\tt \#include $<$string$>$}\par
{\tt \#include $<$iostream$>$}\par


Include dependency graph for Basic\-Exception.h:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=191pt]{_basic_exception_8h__incl}
\end{center}
\end{figure}


This graph shows which files directly or indirectly include this file:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{_basic_exception_8h__dep__incl}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{CompactItemize}
\item 
class {\bf Basic\-Exception}
\begin{CompactList}\small\item\em Basic\-Exception is a general purpose exception class. \item\end{CompactList}\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define {\bf THROW}(msg)\ throw {\bf Basic\-Exception}((msg), FILE\_\-LOCATION)
\item 
\#define {\bf THROWC}(msg, cause)\ throw {\bf Basic\-Exception}((msg), FILE\_\-LOCATION, (cause))
\item 
\#define {\bf ASSERT\_\-OR\_\-THROW}(msg, condition)\ \{if (!(condition)) THROW(msg);\}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
std::ostream \& {\bf operator$<$$<$} (std::ostream \&stream, const {\bf Basic\-Exception} \&e)
\begin{CompactList}\small\item\em An stream output operator for {\bf Basic\-Exception}{\rm (p.\,\pageref{class_basic_exception})}. \item\end{CompactList}\end{CompactItemize}


\subsection{Define Documentation}
\index{BasicException.h@{Basic\-Exception.h}!ASSERT_OR_THROW@{ASSERT\_\-OR\_\-THROW}}
\index{ASSERT_OR_THROW@{ASSERT\_\-OR\_\-THROW}!BasicException.h@{Basic\-Exception.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define ASSERT\_\-OR\_\-THROW(msg, condition)\ \{if (!(condition)) THROW(msg);\}}\label{_basic_exception_8h_a2}


\index{BasicException.h@{Basic\-Exception.h}!THROW@{THROW}}
\index{THROW@{THROW}!BasicException.h@{Basic\-Exception.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define THROW(msg)\ throw {\bf Basic\-Exception}((msg), FILE\_\-LOCATION)}\label{_basic_exception_8h_a0}


\index{BasicException.h@{Basic\-Exception.h}!THROWC@{THROWC}}
\index{THROWC@{THROWC}!BasicException.h@{Basic\-Exception.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define THROWC(msg, cause)\ throw {\bf Basic\-Exception}((msg), FILE\_\-LOCATION, (cause))}\label{_basic_exception_8h_a1}




\subsection{Function Documentation}
\index{BasicException.h@{Basic\-Exception.h}!operator<<@{operator$<$$<$}}
\index{operator<<@{operator$<$$<$}!BasicException.h@{Basic\-Exception.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}std::ostream\& operator$<$$<$ (std::ostream \& {\em stream}, const {\bf Basic\-Exception} \& {\em e})\hspace{0.3cm}{\tt  [inline]}}\label{_basic_exception_8h_a3}


An stream output operator for {\bf Basic\-Exception}{\rm (p.\,\pageref{class_basic_exception})}. 

This allows you to print the text of an exception to a stream like so:

. . . \} catch ({\bf Basic\-Exception}{\rm (p.\,\pageref{class_basic_exception})} \&e) \{ cout $<$$<$ e $<$$<$ endl; return 0; \} 