Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > 0508df3f0f31cdc1fec017f60572b2b0 > files > 116

libicu-doc-4.8.1.1-5.fc17.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>ICU 4.8.1.1: ErrorCode Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ICU 4.8.1.1
   &#160;<span id="projectnumber">4.8.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">ErrorCode Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Wrapper class for UErrorCode, with conversion operators for direct use in ICU C and C++ APIs.  
 <a href="classErrorCode.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="errorcode_8h_source.html">errorcode.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ErrorCode:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classErrorCode.png" usemap="#ErrorCode_map" alt=""/>
  <map id="ErrorCode_map" name="ErrorCode_map">
<area href="classUMemory.html" title="UMemory is the common ICU base class." alt="UMemory" shape="rect" coords="0,0,72,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:adaf19e1a90d5552207ab98595d90129f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#adaf19e1a90d5552207ab98595d90129f">ErrorCode</a> ()</td></tr>
<tr class="memdesc:adaf19e1a90d5552207ab98595d90129f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#adaf19e1a90d5552207ab98595d90129f"></a><br/></td></tr>
<tr class="memitem:ae2f6100798cd438dabeae33baad364ed"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#ae2f6100798cd438dabeae33baad364ed">~ErrorCode</a> ()</td></tr>
<tr class="memdesc:ae2f6100798cd438dabeae33baad364ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor, does nothing.  <a href="#ae2f6100798cd438dabeae33baad364ed"></a><br/></td></tr>
<tr class="memitem:a0a4838eab08afeb636a572cbab1c43bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#a0a4838eab08afeb636a572cbab1c43bf">operator UErrorCode &amp;</a> ()</td></tr>
<tr class="memdesc:a0a4838eab08afeb636a572cbab1c43bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion operator, returns a reference.  <a href="#a0a4838eab08afeb636a572cbab1c43bf"></a><br/></td></tr>
<tr class="memitem:ad7c50161393172c0e6571857522f70fd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#ad7c50161393172c0e6571857522f70fd">operator UErrorCode *</a> ()</td></tr>
<tr class="memdesc:ad7c50161393172c0e6571857522f70fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion operator, returns a pointer.  <a href="#ad7c50161393172c0e6571857522f70fd"></a><br/></td></tr>
<tr class="memitem:adda7ef44a460f8ec081cad5841189a24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#adda7ef44a460f8ec081cad5841189a24">isSuccess</a> () const </td></tr>
<tr class="memdesc:adda7ef44a460f8ec081cad5841189a24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a>.  <a href="#adda7ef44a460f8ec081cad5841189a24"></a><br/></td></tr>
<tr class="memitem:a58311f5c65807f1ce64e5458dfda74c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#a58311f5c65807f1ce64e5458dfda74c0">isFailure</a> () const </td></tr>
<tr class="memdesc:a58311f5c65807f1ce64e5458dfda74c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a>.  <a href="#a58311f5c65807f1ce64e5458dfda74c0"></a><br/></td></tr>
<tr class="memitem:afe64b6732f4d12d984f8c0756ccfb4ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#afe64b6732f4d12d984f8c0756ccfb4ad">get</a> () const </td></tr>
<tr class="memdesc:afe64b6732f4d12d984f8c0756ccfb4ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the UErrorCode value.  <a href="#afe64b6732f4d12d984f8c0756ccfb4ad"></a><br/></td></tr>
<tr class="memitem:a062be13bd2216ed70ce9844ab6a29441"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#a062be13bd2216ed70ce9844ab6a29441">set</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> value)</td></tr>
<tr class="memdesc:a062be13bd2216ed70ce9844ab6a29441"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the UErrorCode value.  <a href="#a062be13bd2216ed70ce9844ab6a29441"></a><br/></td></tr>
<tr class="memitem:a52f1f0c6687084d980df923ecd76945d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#a52f1f0c6687084d980df923ecd76945d">reset</a> ()</td></tr>
<tr class="memdesc:a52f1f0c6687084d980df923ecd76945d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the UErrorCode value and resets it to U_ZERO_ERROR.  <a href="#a52f1f0c6687084d980df923ecd76945d"></a><br/></td></tr>
<tr class="memitem:a7697311334f1c312276236c62424d413"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#a7697311334f1c312276236c62424d413">assertSuccess</a> () const </td></tr>
<tr class="memdesc:a7697311334f1c312276236c62424d413"><td class="mdescLeft">&#160;</td><td class="mdescRight">Asserts <a class="el" href="classErrorCode.html#adda7ef44a460f8ec081cad5841189a24" title="Tests for U_SUCCESS().">isSuccess()</a>.  <a href="#a7697311334f1c312276236c62424d413"></a><br/></td></tr>
<tr class="memitem:a73244a121c08a3e4b4a4d2f51448a6aa"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#a73244a121c08a3e4b4a4d2f51448a6aa">errorName</a> () const </td></tr>
<tr class="memdesc:a73244a121c08a3e4b4a4d2f51448a6aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string for the UErrorCode value.  <a href="#a73244a121c08a3e4b4a4d2f51448a6aa"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0f81ad4f9be3a2f0724934ed2e9d9c63"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#a0f81ad4f9be3a2f0724934ed2e9d9c63">handleFailure</a> () const </td></tr>
<tr class="memdesc:a0f81ad4f9be3a2f0724934ed2e9d9c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by <a class="el" href="classErrorCode.html#a7697311334f1c312276236c62424d413" title="Asserts isSuccess().">assertSuccess()</a> if <a class="el" href="classErrorCode.html#a58311f5c65807f1ce64e5458dfda74c0" title="Tests for U_FAILURE().">isFailure()</a> is true.  <a href="#a0f81ad4f9be3a2f0724934ed2e9d9c63"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:acb34773ffbcba381a3e90e07925bb72f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classErrorCode.html#acb34773ffbcba381a3e90e07925bb72f">errorCode</a></td></tr>
<tr class="memdesc:acb34773ffbcba381a3e90e07925bb72f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal UErrorCode, accessible to subclasses.  <a href="#acb34773ffbcba381a3e90e07925bb72f"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classUMemory"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classUMemory')"><img src="closed.png" alt="-"/>&nbsp;Static Public Member Functions inherited from <a class="el" href="classUMemory.html">UMemory</a></td></tr>
<tr class="memitem:a309b19b5777e2840b85b202aef5a54fb inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a309b19b5777e2840b85b202aef5a54fb">operator new</a> (size_t size)</td></tr>
<tr class="memdesc:a309b19b5777e2840b85b202aef5a54fb inherit pub_static_methods_classUMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#a309b19b5777e2840b85b202aef5a54fb"></a><br/></td></tr>
<tr class="memitem:a4d0df3571728e7b8a823dbbea6e9b5c5 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a4d0df3571728e7b8a823dbbea6e9b5c5">operator new[]</a> (size_t size)</td></tr>
<tr class="memdesc:a4d0df3571728e7b8a823dbbea6e9b5c5 inherit pub_static_methods_classUMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#a4d0df3571728e7b8a823dbbea6e9b5c5"></a><br/></td></tr>
<tr class="memitem:adcda65a58813749f8f45c5e6c1ed37e1 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#adcda65a58813749f8f45c5e6c1ed37e1">operator delete</a> (void *p)</td></tr>
<tr class="memdesc:adcda65a58813749f8f45c5e6c1ed37e1 inherit pub_static_methods_classUMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#adcda65a58813749f8f45c5e6c1ed37e1"></a><br/></td></tr>
<tr class="memitem:a7602a7a8c6fdff21d9fbecea4d899333 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a7602a7a8c6fdff21d9fbecea4d899333">operator delete[]</a> (void *p)</td></tr>
<tr class="memdesc:a7602a7a8c6fdff21d9fbecea4d899333 inherit pub_static_methods_classUMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override for ICU4C C++ memory management.  <a href="#a7602a7a8c6fdff21d9fbecea4d899333"></a><br/></td></tr>
<tr class="memitem:a43b5221fe429f77230b2040f8724c154 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a43b5221fe429f77230b2040f8724c154">operator new</a> (size_t, void *ptr)</td></tr>
<tr class="memdesc:a43b5221fe429f77230b2040f8724c154 inherit pub_static_methods_classUMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override for ICU4C C++ memory management for STL.  <a href="#a43b5221fe429f77230b2040f8724c154"></a><br/></td></tr>
<tr class="memitem:a9b746b0cdb49c8f8907773002ea5c4ea inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a9b746b0cdb49c8f8907773002ea5c4ea">operator delete</a> (void *, void *)</td></tr>
<tr class="memdesc:a9b746b0cdb49c8f8907773002ea5c4ea inherit pub_static_methods_classUMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override for ICU4C C++ memory management for STL.  <a href="#a9b746b0cdb49c8f8907773002ea5c4ea"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Wrapper class for UErrorCode, with conversion operators for direct use in ICU C and C++ APIs. </p>
<p>Intended to be used as a base class, where a subclass overrides the <a class="el" href="classErrorCode.html#a0f81ad4f9be3a2f0724934ed2e9d9c63" title="Called by assertSuccess() if isFailure() is true.">handleFailure()</a> function so that it throws an exception, does an assert(), logs an error, etc. This is not an abstract base class. This class can be used and instantiated by itself, although it will be more useful when subclassed.</p>
<p>Features:</p>
<ul>
<li>The constructor initializes the internal UErrorCode to U_ZERO_ERROR, removing one common source of errors.</li>
<li>Same use in C APIs taking a UErrorCode * (pointer) and C++ taking UErrorCode &amp; (reference) via conversion operators.</li>
<li>Possible automatic checking for success when it goes out of scope.</li>
</ul>
<p>Note: For automatic checking for success in the destructor, a subclass must implement such logic in its own destructor because the base class destructor cannot call a subclass function (like <a class="el" href="classErrorCode.html#a0f81ad4f9be3a2f0724934ed2e9d9c63" title="Called by assertSuccess() if isFailure() is true.">handleFailure()</a>). The <a class="el" href="classErrorCode.html" title="Wrapper class for UErrorCode, with conversion operators for direct use in ICU C and C++ APIs...">ErrorCode</a> base class destructor does nothing.</p>
<p>Note also: While it is possible for a destructor to throw an exception, it is generally unsafe to do so. This means that in a subclass the destructor and the <a class="el" href="classErrorCode.html#a0f81ad4f9be3a2f0724934ed2e9d9c63" title="Called by assertSuccess() if isFailure() is true.">handleFailure()</a> function may need to take different actions.</p>
<p>Sample code: </p>
<div class="fragment"><div class="line">     <span class="keyword">class </span>IcuErrorCode: <span class="keyword">public</span> icu::ErrorCode {</div>
<div class="line">     <span class="keyword">public</span>:</div>
<div class="line">       <span class="keyword">virtual</span> ~IcuErrorCode() {</div>
<div class="line">         <span class="comment">// Safe because our handleFailure() does not throw exceptions.</span></div>
<div class="line">         <span class="keywordflow">if</span>(<a class="code" href="classErrorCode.html#a58311f5c65807f1ce64e5458dfda74c0" title="Tests for U_FAILURE().">isFailure</a>()) { <a class="code" href="classErrorCode.html#a0f81ad4f9be3a2f0724934ed2e9d9c63" title="Called by assertSuccess() if isFailure() is true.">handleFailure</a>(); }</div>
<div class="line">       }</div>
<div class="line">     <span class="keyword">protected</span>:</div>
<div class="line">       <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classErrorCode.html#a0f81ad4f9be3a2f0724934ed2e9d9c63" title="Called by assertSuccess() if isFailure() is true.">handleFailure</a>()<span class="keyword"> const </span>{</div>
<div class="line">         log_failure(<a class="code" href="utypes_8h.html#a89eb455526bb29bf5350ee861d81df92" title="Return a string for a UErrorCode value.">u_errorName</a>(<a class="code" href="classErrorCode.html#acb34773ffbcba381a3e90e07925bb72f" title="Internal UErrorCode, accessible to subclasses.">errorCode</a>));</div>
<div class="line">         exit(<a class="code" href="classErrorCode.html#acb34773ffbcba381a3e90e07925bb72f" title="Internal UErrorCode, accessible to subclasses.">errorCode</a>);</div>
<div class="line">       }</div>
<div class="line">     };</div>
<div class="line">     IcuErrorCode error_code;</div>
<div class="line">     <a class="code" href="ucnv__err_8h.html#a0c2dcfbf71ad577f5285869e1ceb26b1">UConverter</a> *cnv = <a class="code" href="ucnv_8h.html#a485c78d4149165f504effa2287717e41" title="Creates a UConverter object with the name of a coded character set specified as a C string...">ucnv_open</a>(<span class="stringliteral">&quot;Shift-JIS&quot;</span>, error_code);</div>
<div class="line">     length = <a class="code" href="ucnv_8h.html#a31bd5a5af440108a1a51bb0234ad32ac" title="Convert the Unicode string into a codepage string using an existing UConverter.">ucnv_fromUChars</a>(dest, capacity, src, length, error_code);</div>
<div class="line">     <a class="code" href="ucnv_8h.html#a1718689bf60724fdfa08c51aa0cc5ea0" title="Deletes the unicode converter and releases resources associated with just this instance.">ucnv_close</a>(cnv);</div>
<div class="line">     <span class="comment">// IcuErrorCode destructor checks for success.</span></div>
</div><!-- fragment --><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000119">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00079">79</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="adaf19e1a90d5552207ab98595d90129f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ErrorCode::ErrorCode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor. </p>
<p>Initializes its UErrorCode to U_ZERO_ERROR. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000120">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00085">85</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae2f6100798cd438dabeae33baad364ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ErrorCode::~ErrorCode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor, does nothing. </p>
<p>See class documentation for details. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000121">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00087">87</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a7697311334f1c312276236c62424d413"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ErrorCode::assertSuccess </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Asserts <a class="el" href="classErrorCode.html#adda7ef44a460f8ec081cad5841189a24" title="Tests for U_SUCCESS().">isSuccess()</a>. </p>
<p>In other words, this method checks for a failure code, and the base class handles it like this: </p>
<div class="fragment"><div class="line">         <span class="keywordflow">if</span>(<a class="code" href="classErrorCode.html#a58311f5c65807f1ce64e5458dfda74c0" title="Tests for U_FAILURE().">isFailure</a>()) { <a class="code" href="classErrorCode.html#a0f81ad4f9be3a2f0724934ed2e9d9c63" title="Called by assertSuccess() if isFailure() is true.">handleFailure</a>(); }</div>
</div><!-- fragment --> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000129">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a73244a121c08a3e4b4a4d2f51448a6aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ErrorCode::errorName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return a string for the UErrorCode value. </p>
<p>The string will be the same as the name of the error code constant in the UErrorCode enum. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000130">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="afe64b6732f4d12d984f8c0756ccfb4ad"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> ErrorCode::get </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the UErrorCode value. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000126">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00097">97</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0f81ad4f9be3a2f0724934ed2e9d9c63"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ErrorCode::handleFailure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by <a class="el" href="classErrorCode.html#a7697311334f1c312276236c62424d413" title="Asserts isSuccess().">assertSuccess()</a> if <a class="el" href="classErrorCode.html#a58311f5c65807f1ce64e5458dfda74c0" title="Tests for U_FAILURE().">isFailure()</a> is true. </p>
<p>A subclass should override this function to deal with a failure code: Throw an exception, log an error, terminate the program, or similar. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000132">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00132">132</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<a class="anchor" id="a58311f5c65807f1ce64e5458dfda74c0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> ErrorCode::isFailure </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tests for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a>. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000125">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00095">95</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

<p>References <a class="el" href="utypes_8h_source.html#l00873">U_FAILURE</a>.</p>

</div>
</div>
<a class="anchor" id="adda7ef44a460f8ec081cad5841189a24"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> ErrorCode::isSuccess </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Tests for <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a>. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000124">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00093">93</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

<p>References <a class="el" href="utypes_8h_source.html#l00868">U_SUCCESS</a>.</p>

</div>
</div>
<a class="anchor" id="a0a4838eab08afeb636a572cbab1c43bf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ErrorCode::operator <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Conversion operator, returns a reference. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000122">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00089">89</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad7c50161393172c0e6571857522f70fd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ErrorCode::operator <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Conversion operator, returns a pointer. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000123">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00091">91</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<a class="anchor" id="a52f1f0c6687084d980df923ecd76945d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> ErrorCode::reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the UErrorCode value and resets it to U_ZERO_ERROR. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000128">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

</div>
</div>
<a class="anchor" id="a062be13bd2216ed70ce9844ab6a29441"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ErrorCode::set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the UErrorCode value. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000127">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00099">99</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="acb34773ffbcba381a3e90e07925bb72f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> ErrorCode::errorCode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal UErrorCode, accessible to subclasses. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000131">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="errorcode_8h_source.html#l00125">125</a> of file <a class="el" href="errorcode_8h_source.html">errorcode.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="errorcode_8h_source.html">errorcode.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>