\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 \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 \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 \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 
\hyperlink{group__Eina__Error__Group_ga95b3cbb33e987e7d92a81ea785001686}{Eina\+\_\+\+Error} \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 
system\+\_\+error\+\_\+category const \& \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 
system\+\_\+error\+\_\+category const \& \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 
eina\+::system\+\_\+error\+\_\+category \& \hyperlink{group__Eina__Cxx__Error__Group_ga84753800d35c79cdb71635579a39079a}{efl\+::eina\+::eina\+\_\+error\+\_\+category} ()
\begin{DoxyCompactList}\small\item\em Get a default {\ttfamily \hyperlink{structefl_1_1eina_1_1error__category}{eina\+::error\+\_\+category}} object. \end{DoxyCompactList}\item 
eina\+::error\+\_\+code \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 \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 \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 
error\+\_\+type \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 \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}
\hypertarget{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[{system\+\_\+error\+\_\+category}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::error\+\_\+category {\bf efl\+::eina\+::system\+\_\+error\+\_\+category}}\label{group__Eina__Cxx__Error__Group_gae07cf16a7026bc32e03a96ced4e0eed1}


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



\subsection{Enumeration Type Documentation}
\hypertarget{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[{error\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf efl\+::eina\+::error\+\_\+type}}\label{group__Eina__Cxx__Error__Group_ga76d8637caa77c8425f8709cad7b3b562}


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

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

\subsection{Function Documentation}
\hypertarget{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[{unknown\+\_\+error}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Eina\+\_\+\+Error} efl\+::eina\+::unknown\+\_\+error (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_gaa55234a0dece786d4d0704ca6983491f}


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().

\hypertarget{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[{get\+\_\+generic\+\_\+category}]{\setlength{\rightskip}{0pt plus 5cm}system\+\_\+error\+\_\+category const\& efl\+::eina\+::get\+\_\+generic\+\_\+category (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_ga87defe1d9a4d8e0e5dd673e5ea7bbf9f}


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}


Referenced by efl\+::eina\+::mutex\+::lock(), efl\+::eina\+::mutex\+::try\+\_\+lock(), and efl\+::eina\+::mutex\+::unlock().

\hypertarget{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[{get\+\_\+system\+\_\+category}]{\setlength{\rightskip}{0pt plus 5cm}system\+\_\+error\+\_\+category const\& efl\+::eina\+::get\+\_\+system\+\_\+category (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_gaf90d5a07e1ed3a91a6dd1a946fb5febc}


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}
\hypertarget{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[{eina\+\_\+error\+\_\+category}]{\setlength{\rightskip}{0pt plus 5cm}eina\+::system\+\_\+error\+\_\+category\& efl\+::eina\+::eina\+\_\+error\+\_\+category (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_ga84753800d35c79cdb71635579a39079a}


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

\begin{DoxyReturn}{Returns}
Reference to a static instance of an {\ttfamily \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().

\hypertarget{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[{get\+\_\+error\+\_\+code}]{\setlength{\rightskip}{0pt plus 5cm}eina\+::error\+\_\+code efl\+::eina\+::get\+\_\+error\+\_\+code (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_ga669c9201ab05c4ae88130f60b8e588ee}


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\+::mutex\+::lock(), efl\+::eina\+::condition\+\_\+variable\+::notify\+\_\+all(), efl\+::eina\+::condition\+\_\+variable\+::notify\+\_\+one(), efl\+::eina\+::accessor\+\_\+common\+\_\+base$<$ T $>$\+::operator=(), efl\+::eina\+::value\+::operator=(), efl\+::eina\+::accessor$<$ T, typename std\+::enable\+\_\+if$<$ !std\+::is\+\_\+base\+\_\+of$<$\+::efl\+::eo\+::concrete, T $>$\+::value, T $>$\+::type $>$\+::operator\mbox{[}$\,$\mbox{]}(), efl\+::eina\+::accessor$<$ T, typename std\+::enable\+\_\+if$<$ std\+::is\+\_\+base\+\_\+of$<$\+::efl\+::eo\+::concrete, T $>$\+::value, T $>$\+::type $>$\+::operator\mbox{[}$\,$\mbox{]}(), efl\+::eina\+::thread\+::thread(), efl\+::eina\+::throw\+\_\+on\+\_\+error(), efl\+::eina\+::mutex\+::try\+\_\+lock(), efl\+::eina\+::mutex\+::unlock(), and efl\+::eina\+::value\+::value().

\hypertarget{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[{set\+\_\+error\+\_\+code}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::eina\+::set\+\_\+error\+\_\+code (
\begin{DoxyParamCaption}
\item[{eina\+::error\+\_\+code const \&}]{e}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_gaa6b9f884788dc908bd523c0224a6b4e6}


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().

\hypertarget{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[{get\+\_\+error\+\_\+condition}]{\setlength{\rightskip}{0pt plus 5cm}eina\+::error\+\_\+condition efl\+::eina\+::get\+\_\+error\+\_\+condition (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_ga2d9e3008d0925c73b9dc0303f1d1354e}


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().

\hypertarget{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[{get\+\_\+error\+\_\+code\+\_\+enum}]{\setlength{\rightskip}{0pt plus 5cm}error\+\_\+type efl\+::eina\+::get\+\_\+error\+\_\+code\+\_\+enum (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_ga0c2da12801e6131a2224e5da90a00f4c}


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().

\hypertarget{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[{throw\+\_\+on\+\_\+error}]{\setlength{\rightskip}{0pt plus 5cm}void efl\+::eina\+::throw\+\_\+on\+\_\+error (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{group__Eina__Cxx__Error__Group_gae379655898e909659e1a7a048cf41e17}


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().

