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


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$>$}

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


\doxysubsection{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}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_exception_factory_ab369a1b1bed20a9608132e34d38224a0}\label{class_ogre_1_1_exception_factory_ab369a1b1bed20a9608132e34d38224a0}} 
\index{Ogre::ExceptionFactory@{Ogre::ExceptionFactory}!throwException@{throwException}}
\index{throwException@{throwException}!Ogre::ExceptionFactory@{Ogre::ExceptionFactory}}
\doxysubsubsection{\texorpdfstring{throwException()}{throwException()}}
{\footnotesize\ttfamily static \mbox{\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[{\mbox{\hyperlink{class_ogre_1_1_exception_a9bdf9b8a0a83b95818d676848beaa29b}{Exception\+::\+Exception\+Codes}}}]{code,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{desc,  }\item[{const \mbox{\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 
\mbox{\hyperlink{_ogre_exception_8h}{Ogre\+Exception.\+h}}\end{DoxyCompactItemize}
