\hypertarget{group__Eina__Cxx__Error__Group}{}\section{Error Handling}
\label{group__Eina__Cxx__Error__Group}\index{Error Handling@{Error Handling}}


Functions for handling Eina errors.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structefl_1_1eina_1_1error__category}{efl\+::eina\+::error\+\_\+category}}
\begin{DoxyCompactList}\small\item\em Specialized error category for Eina errors. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std\+::error\+\_\+category \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{efl\+::eina\+::system\+\_\+error\+\_\+category}}
\begin{DoxyCompactList}\small\item\em {\ttfamily std\+::error\+\_\+category} for Eina errors. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga76d8637caa77c8425f8709cad7b3b562}{efl\+::eina\+::error\+\_\+type}} 
\begin{DoxyCompactList}\small\item\em Typesafe representation of an {\ttfamily Eina\+\_\+\+Error}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group__Eina__Error__Group_ga95b3cbb33e987e7d92a81ea785001686}{Eina\+\_\+\+Error}} \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gaa55234a0dece786d4d0704ca6983491f}{efl\+::eina\+::unknown\+\_\+error}} ()
\begin{DoxyCompactList}\small\item\em Return a {\ttfamily Eina\+\_\+\+Error} for an unknown error. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{system\+\_\+error\+\_\+category}} const  \& \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga87defe1d9a4d8e0e5dd673e5ea7bbf9f}{efl\+::eina\+::get\+\_\+generic\+\_\+category}} ()
\begin{DoxyCompactList}\small\item\em Gets a {\ttfamily std\+::generic\+\_\+category} instance as a {\ttfamily eina\+::system\+\_\+error\+\_\+category}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{system\+\_\+error\+\_\+category}} const  \& \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gaf90d5a07e1ed3a91a6dd1a946fb5febc}{efl\+::eina\+::get\+\_\+system\+\_\+category}} ()
\begin{DoxyCompactList}\small\item\em Gets a {\ttfamily std\+::system\+\_\+category} instance as a {\ttfamily eina\+::system\+\_\+error\+\_\+category}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{eina\+::system\+\_\+error\+\_\+category}} \& \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga84753800d35c79cdb71635579a39079a}{efl\+::eina\+::eina\+\_\+error\+\_\+category}} ()
\begin{DoxyCompactList}\small\item\em Get a default {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1error__category}{eina\+::error\+\_\+category}}} object. \end{DoxyCompactList}\item 
eina\+::error\+\_\+code \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga669c9201ab05c4ae88130f60b8e588ee}{efl\+::eina\+::get\+\_\+error\+\_\+code}} ()
\begin{DoxyCompactList}\small\item\em Gets the error code for the last Eina error. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gaa6b9f884788dc908bd523c0224a6b4e6}{efl\+::eina\+::set\+\_\+error\+\_\+code}} (eina\+::error\+\_\+code const \&e)
\begin{DoxyCompactList}\small\item\em Sets an error code in the Eina library. \end{DoxyCompactList}\item 
eina\+::error\+\_\+condition \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga2d9e3008d0925c73b9dc0303f1d1354e}{efl\+::eina\+::get\+\_\+error\+\_\+condition}} ()
\begin{DoxyCompactList}\small\item\em Gets the error condition for the last Eina error. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga76d8637caa77c8425f8709cad7b3b562}{error\+\_\+type}} \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga0c2da12801e6131a2224e5da90a00f4c}{efl\+::eina\+::get\+\_\+error\+\_\+code\+\_\+enum}} ()
\begin{DoxyCompactList}\small\item\em Gets the enum value of the last Eina error. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae379655898e909659e1a7a048cf41e17}{efl\+::eina\+::throw\+\_\+on\+\_\+error}} ()
\begin{DoxyCompactList}\small\item\em Throw an exception if there is a error set in Eina library. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Functions for handling Eina errors. 

Integrates the Eina errors with the standard error representation defined in the {\ttfamily system\+\_\+error} library. 

\subsection{Typedef Documentation}
\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}\label{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}} 
\index{Error Handling@{Error Handling}!system\+\_\+error\+\_\+category@{system\+\_\+error\+\_\+category}}
\index{system\+\_\+error\+\_\+category@{system\+\_\+error\+\_\+category}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{system\+\_\+error\+\_\+category}{system\_error\_category}}
{\footnotesize\ttfamily typedef std\+::error\+\_\+category \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{efl\+::eina\+::system\+\_\+error\+\_\+category}}}



{\ttfamily std\+::error\+\_\+category} for Eina errors. 



\subsection{Enumeration Type Documentation}
\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_ga76d8637caa77c8425f8709cad7b3b562}\label{group__Eina__Cxx__Error__Group_ga76d8637caa77c8425f8709cad7b3b562}} 
\index{Error Handling@{Error Handling}!error\+\_\+type@{error\+\_\+type}}
\index{error\+\_\+type@{error\+\_\+type}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{error\+\_\+type}{error\_type}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga76d8637caa77c8425f8709cad7b3b562}{efl\+::eina\+::error\+\_\+type}}}



Typesafe representation of an {\ttfamily Eina\+\_\+\+Error}. 

Used for improved compatibility with {\itshape system\+\_\+error} library. 

\subsection{Function Documentation}
\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_gaa55234a0dece786d4d0704ca6983491f}\label{group__Eina__Cxx__Error__Group_gaa55234a0dece786d4d0704ca6983491f}} 
\index{Error Handling@{Error Handling}!unknown\+\_\+error@{unknown\+\_\+error}}
\index{unknown\+\_\+error@{unknown\+\_\+error}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{unknown\+\_\+error()}{unknown\_error()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Error__Group_ga95b3cbb33e987e7d92a81ea785001686}{Eina\+\_\+\+Error}} efl\+::eina\+::unknown\+\_\+error (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Return a {\ttfamily Eina\+\_\+\+Error} for an unknown error. 

\begin{DoxyReturn}{Returns}
{\ttfamily Eina\+\_\+\+Error} indicating a unknown/external error condition.
\end{DoxyReturn}
This function returns an {\ttfamily Eina\+\_\+\+Error} indicating a unknown/external error condition. When first called, this function will register the said error within the other Eina errors, together with a error message. 

References eina\+\_\+error\+\_\+msg\+\_\+static\+\_\+register().



Referenced by efl\+::eina\+::set\+\_\+error\+\_\+code().

\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_ga87defe1d9a4d8e0e5dd673e5ea7bbf9f}\label{group__Eina__Cxx__Error__Group_ga87defe1d9a4d8e0e5dd673e5ea7bbf9f}} 
\index{Error Handling@{Error Handling}!get\+\_\+generic\+\_\+category@{get\+\_\+generic\+\_\+category}}
\index{get\+\_\+generic\+\_\+category@{get\+\_\+generic\+\_\+category}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{get\+\_\+generic\+\_\+category()}{get\_generic\_category()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{system\+\_\+error\+\_\+category}} const\& efl\+::eina\+::get\+\_\+generic\+\_\+category (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Gets a {\ttfamily std\+::generic\+\_\+category} instance as a {\ttfamily eina\+::system\+\_\+error\+\_\+category}. 

\begin{DoxyReturn}{Returns}
a {\ttfamily std\+::generic\+\_\+category} instance as a {\ttfamily eina\+::system\+\_\+error\+\_\+category}. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_gaf90d5a07e1ed3a91a6dd1a946fb5febc}\label{group__Eina__Cxx__Error__Group_gaf90d5a07e1ed3a91a6dd1a946fb5febc}} 
\index{Error Handling@{Error Handling}!get\+\_\+system\+\_\+category@{get\+\_\+system\+\_\+category}}
\index{get\+\_\+system\+\_\+category@{get\+\_\+system\+\_\+category}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{get\+\_\+system\+\_\+category()}{get\_system\_category()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{system\+\_\+error\+\_\+category}} const\& efl\+::eina\+::get\+\_\+system\+\_\+category (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Gets a {\ttfamily std\+::system\+\_\+category} instance as a {\ttfamily eina\+::system\+\_\+error\+\_\+category}. 

\begin{DoxyReturn}{Returns}
{\ttfamily std\+::system\+\_\+category} instance as a {\ttfamily eina\+::system\+\_\+error\+\_\+category}. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_ga84753800d35c79cdb71635579a39079a}\label{group__Eina__Cxx__Error__Group_ga84753800d35c79cdb71635579a39079a}} 
\index{Error Handling@{Error Handling}!eina\+\_\+error\+\_\+category@{eina\+\_\+error\+\_\+category}}
\index{eina\+\_\+error\+\_\+category@{eina\+\_\+error\+\_\+category}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{eina\+\_\+error\+\_\+category()}{eina\_error\_category()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}{eina\+::system\+\_\+error\+\_\+category}}\& efl\+::eina\+::eina\+\_\+error\+\_\+category (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get a default {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1error__category}{eina\+::error\+\_\+category}}} object. 

\begin{DoxyReturn}{Returns}
Reference to a static instance of an {\ttfamily \mbox{\hyperlink{structefl_1_1eina_1_1error__category}{eina\+::error\+\_\+category}}}. 
\end{DoxyReturn}


Referenced by efl\+::eina\+::get\+\_\+error\+\_\+code(), efl\+::eina\+::get\+\_\+error\+\_\+condition(), and efl\+::eina\+::set\+\_\+error\+\_\+code().

\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_ga669c9201ab05c4ae88130f60b8e588ee}\label{group__Eina__Cxx__Error__Group_ga669c9201ab05c4ae88130f60b8e588ee}} 
\index{Error Handling@{Error Handling}!get\+\_\+error\+\_\+code@{get\+\_\+error\+\_\+code}}
\index{get\+\_\+error\+\_\+code@{get\+\_\+error\+\_\+code}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{get\+\_\+error\+\_\+code()}{get\_error\_code()}}
{\footnotesize\ttfamily eina\+::error\+\_\+code efl\+::eina\+::get\+\_\+error\+\_\+code (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Gets the error code for the last Eina error. 

\begin{DoxyReturn}{Returns}
{\ttfamily eina\+::error\+\_\+code} for the last Eina error.
\end{DoxyReturn}
This function gets the error code for the last Eina error and consumes it. The category of the returned {\ttfamily eina\+::error\+\_\+code} is {\ttfamily eina\+\_\+error\+\_\+category}.

\begin{DoxyNote}{Note}
If no errors have been occurred or if this functions have already been called after the last error occurrence a call to this function will return a default {\ttfamily eina\+::error\+\_\+code} to indicates that there is no unconsumed error. 
\end{DoxyNote}


References efl\+::eina\+::eina\+\_\+error\+\_\+category(), eina\+\_\+error\+\_\+get(), and eina\+\_\+error\+\_\+set().



Referenced by efl\+::eina\+::accessor$<$ T, typename std\+::enable\+\_\+if$<$ ! \+::efl\+::eo\+::is\+\_\+eolian\+\_\+object$<$ T $>$\+::value, T $>$\+::type $>$\+::operator\mbox{[}$\,$\mbox{]}(), efl\+::eina\+::accessor$<$ T, typename std\+::enable\+\_\+if$<$ \+::efl\+::eo\+::is\+\_\+eolian\+\_\+object$<$ T $>$\+::value, T $>$\+::type $>$\+::operator\mbox{[}$\,$\mbox{]}(), efl\+::eina\+::thread\+::thread(), and efl\+::eina\+::throw\+\_\+on\+\_\+error().

\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_gaa6b9f884788dc908bd523c0224a6b4e6}\label{group__Eina__Cxx__Error__Group_gaa6b9f884788dc908bd523c0224a6b4e6}} 
\index{Error Handling@{Error Handling}!set\+\_\+error\+\_\+code@{set\+\_\+error\+\_\+code}}
\index{set\+\_\+error\+\_\+code@{set\+\_\+error\+\_\+code}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{set\+\_\+error\+\_\+code()}{set\_error\_code()}}
{\footnotesize\ttfamily void efl\+::eina\+::set\+\_\+error\+\_\+code (\begin{DoxyParamCaption}\item[{eina\+::error\+\_\+code const \&}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets an error code in the Eina library. 


\begin{DoxyParams}{Parameters}
{\em e} & Error code. Should be an {\ttfamily eina\+\_\+error\+\_\+category} error.\\
\hline
\end{DoxyParams}
This function sets an error code in the Eina library. If the category of the given error code is not {\ttfamily eina\+\_\+error\+\_\+category} it will register an unknown error instead. 

References efl\+::eina\+::eina\+\_\+error\+\_\+category(), eina\+\_\+error\+\_\+set(), and efl\+::eina\+::unknown\+\_\+error().

\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_ga2d9e3008d0925c73b9dc0303f1d1354e}\label{group__Eina__Cxx__Error__Group_ga2d9e3008d0925c73b9dc0303f1d1354e}} 
\index{Error Handling@{Error Handling}!get\+\_\+error\+\_\+condition@{get\+\_\+error\+\_\+condition}}
\index{get\+\_\+error\+\_\+condition@{get\+\_\+error\+\_\+condition}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{get\+\_\+error\+\_\+condition()}{get\_error\_condition()}}
{\footnotesize\ttfamily eina\+::error\+\_\+condition efl\+::eina\+::get\+\_\+error\+\_\+condition (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Gets the error condition for the last Eina error. 

\begin{DoxyReturn}{Returns}
{\ttfamily eina\+::error\+\_\+condition} for the last Eina error.
\end{DoxyReturn}
This function works exactly like get\+\_\+error\+\_\+code but returns an {\ttfamily eina\+::error\+\_\+condition} object instead. 

References efl\+::eina\+::eina\+\_\+error\+\_\+category(), eina\+\_\+error\+\_\+get(), and eina\+\_\+error\+\_\+set().

\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_ga0c2da12801e6131a2224e5da90a00f4c}\label{group__Eina__Cxx__Error__Group_ga0c2da12801e6131a2224e5da90a00f4c}} 
\index{Error Handling@{Error Handling}!get\+\_\+error\+\_\+code\+\_\+enum@{get\+\_\+error\+\_\+code\+\_\+enum}}
\index{get\+\_\+error\+\_\+code\+\_\+enum@{get\+\_\+error\+\_\+code\+\_\+enum}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{get\+\_\+error\+\_\+code\+\_\+enum()}{get\_error\_code\_enum()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Cxx__Error__Group_ga76d8637caa77c8425f8709cad7b3b562}{error\+\_\+type}} efl\+::eina\+::get\+\_\+error\+\_\+code\+\_\+enum (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Gets the enum value of the last Eina error. 

\begin{DoxyReturn}{Returns}
Value of the last Eina error as an {\ttfamily error\+\_\+type}.
\end{DoxyReturn}
This function returns the error code for the last Eina error.

Differently from get\+\_\+error\+\_\+code and get\+\_\+error\+\_\+condition, this function does not consume the last error. 

References eina\+\_\+error\+\_\+get().

\mbox{\Hypertarget{group__Eina__Cxx__Error__Group_gae379655898e909659e1a7a048cf41e17}\label{group__Eina__Cxx__Error__Group_gae379655898e909659e1a7a048cf41e17}} 
\index{Error Handling@{Error Handling}!throw\+\_\+on\+\_\+error@{throw\+\_\+on\+\_\+error}}
\index{throw\+\_\+on\+\_\+error@{throw\+\_\+on\+\_\+error}!Error Handling@{Error Handling}}
\subsubsection{\texorpdfstring{throw\+\_\+on\+\_\+error()}{throw\_on\_error()}}
{\footnotesize\ttfamily void efl\+::eina\+::throw\+\_\+on\+\_\+error (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Throw an exception if there is a error set in Eina library. 


\begin{DoxyExceptions}{Exceptions}
{\em $<$tt$>$eina\+::system\+\_\+error$<$/tt$>$} & containing the error identifier.\\
\hline
\end{DoxyExceptions}
This function is meant to be used after executing a operation that may set an Eina error. If an error code has been set this function will throw an exception.

The thrown exception holds an {\ttfamily eina\+::error\+\_\+code} equivalent to the one returned by get\+\_\+error\+\_\+code.

Like the get\+\_\+error\+\_\+code function, this one consumes the last error code. 

References efl\+::eina\+::get\+\_\+error\+\_\+code().

