\hypertarget{class_ogre_1_1_exception_factory}{}\section{Ogre\+:\+:Exception\+Factory Class Reference}
\label{class_ogre_1_1_exception_factory}\index{Ogre\+::\+Exception\+Factory@{Ogre\+::\+Exception\+Factory}}


Class implementing dispatch methods in order to construct by-\/value exceptions of a derived type based just on an exception code.  




{\ttfamily \#include $<$Ogre\+Exception.\+h$>$}

\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{_ogre_platform_8h_ad9a56ccb609a6502138fae364bf1ed39}{O\+G\+R\+E\+\_\+\+N\+O\+R\+E\+T\+U\+RN} void \hyperlink{class_ogre_1_1_exception_factory_ab369a1b1bed20a9608132e34d38224a0}{throw\+Exception} (\hyperlink{class_ogre_1_1_exception_a9bdf9b8a0a83b95818d676848beaa29b}{Exception\+::\+Exception\+Codes} code, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&desc, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&src, const char $\ast$file, long line)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class implementing dispatch methods in order to construct by-\/value exceptions of a derived type based just on an exception code. 

\begin{DoxyRemark}{Remarks}
This nicely handles construction of derived Exceptions by value (needed for throwing) without suffering from ambiguity -\/ each code is turned into a distinct type so that methods can be overloaded. This allows O\+G\+R\+E\+\_\+\+E\+X\+C\+E\+PT to stay small in implementation (desirable since it is embedded) whilst still performing rich code-\/to-\/type mapping. 
\end{DoxyRemark}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_exception_factory_ab369a1b1bed20a9608132e34d38224a0}\label{class_ogre_1_1_exception_factory_ab369a1b1bed20a9608132e34d38224a0}} 
\index{Ogre\+::\+Exception\+Factory@{Ogre\+::\+Exception\+Factory}!throw\+Exception@{throw\+Exception}}
\index{throw\+Exception@{throw\+Exception}!Ogre\+::\+Exception\+Factory@{Ogre\+::\+Exception\+Factory}}
\subsubsection{\texorpdfstring{throw\+Exception()}{throwException()}}
{\footnotesize\ttfamily static \hyperlink{_ogre_platform_8h_ad9a56ccb609a6502138fae364bf1ed39}{O\+G\+R\+E\+\_\+\+N\+O\+R\+E\+T\+U\+RN} void Ogre\+::\+Exception\+Factory\+::throw\+Exception (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_exception_a9bdf9b8a0a83b95818d676848beaa29b}{Exception\+::\+Exception\+Codes}}]{code,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{desc,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{src,  }\item[{const char $\ast$}]{file,  }\item[{long}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_exception_8h}{Ogre\+Exception.\+h}\end{DoxyCompactItemize}
