<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libzypp: zypp/base/Exception.h Source File</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="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</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 id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libzypp  <span id="projectnumber">17.9.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('Exception_8h_source.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">Exception.h</div> </div> </div><!--header--> <div class="contents"> <a href="Exception_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*---------------------------------------------------------------------\</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">| ____ _ __ __ ___ |</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">| |__ / \ / / . \ . \ |</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">| / / \ V /| _/ _/ |</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">| / /__ | | | | | | |</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">| /_____||_| |_| |_| |</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">| |</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">\---------------------------------------------------------------------*/</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef ZYPP_BASE_EXCEPTION_H</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define ZYPP_BASE_EXCEPTION_H</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <iosfwd></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <string></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include <list></span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include <stdexcept></span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <typeinfo></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include <type_traits></span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="Errno_8h.html">zypp/base/Errno.h</a>"</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> { </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keyword">namespace </span>exception_detail</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  { </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="structzypp_1_1exception__detail_1_1CodeLocation.html"> 34</a></span>  <span class="keyword">struct </span><a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">friend</span> std::ostream & <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#abb3c80d0b350dd3d0974815542821301">operator<<</a>( std::ostream & <a class="code" href="namespacestr.html">str</a>, <span class="keyword">const</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> & obj );</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a2d20b14481ecdf61d77f912651927f3b"> 39</a></span>  <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a2d20b14481ecdf61d77f912651927f3b">CodeLocation</a>()</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  : <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a8a7af7d11c150a735dbd133506afcc50">_line</a>( 0 )</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  {}</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a060a9f67e285386067d0e29e804a322f"> 44</a></span>  <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a060a9f67e285386067d0e29e804a322f">CodeLocation</a>( <span class="keyword">const</span> std::string & file_r,</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">const</span> std::string & func_r,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordtype">unsigned</span> line_r )</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  : <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a4bdecd258180e6ab5b7dc83894988cb6">_file</a>( file_r ), <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#ae07614151a46fab3f7bc4163264ed605">_func</a>( func_r ), <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a8a7af7d11c150a735dbd133506afcc50">_line</a>( line_r )</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {}</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  std::string <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a73e81cf5d5ef55e0d86b6ef2f30f46bb">asString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a4bdecd258180e6ab5b7dc83894988cb6"> 54</a></span>  std::string <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a4bdecd258180e6ab5b7dc83894988cb6">_file</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="structzypp_1_1exception__detail_1_1CodeLocation.html#ae07614151a46fab3f7bc4163264ed605"> 55</a></span>  std::string <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#ae07614151a46fab3f7bc4163264ed605">_func</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a8a7af7d11c150a735dbd133506afcc50"> 56</a></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html#a8a7af7d11c150a735dbd133506afcc50">_line</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  };</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="comment">//#define ZYPP_EX_CODELOCATION ::zypp::exception_detail::CodeLocation(__FILE__,__FUNCTION__,__LINE__)</span></div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="Exception_8h.html#a3de26a04b4a7cfe43403e7d773ef6a4b"> 62</a></span> <span class="preprocessor">#define ZYPP_EX_CODELOCATION ::zypp::exception_detail::CodeLocation(( *__FILE__ == '/' ? strrchr( __FILE__, '/' ) + 1 : __FILE__ ),__FUNCTION__,__LINE__)</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  std::ostream & <a class="code" href="namespacezypp_1_1exception__detail.html#a83a26176dfc5d6061b09fe209e40c938">operator<<</a>( std::ostream & <a class="code" href="namespacestr.html">str</a>, <span class="keyword">const</span> CodeLocation & obj );</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  } <span class="comment">// namespace exception_detail</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="comment">//</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">// CLASS NAME : Exception</span></div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html"> 145</a></span> <span class="comment"></span> <span class="keyword">class </span><a class="code" href="classzypp_1_1Exception.html">Exception</a> : <span class="keyword">public</span> std::exception</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keyword">friend</span> std::ostream & <a class="code" href="classzypp_1_1Exception.html#aa3ed3dcd5a961f1328369df36e6431fb">operator<<</a>( std::ostream & <a class="code" href="namespacestr.html">str</a>, <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> & obj );</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#af5f2bb21780f01a605397a29b800ef6c"> 150</a></span>  <span class="keyword">typedef</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">exception_detail::CodeLocation</a> <a class="code" href="classzypp_1_1Exception.html#af5f2bb21780f01a605397a29b800ef6c">CodeLocation</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a84365fdb2eef67590826f8a296e10f6f"> 151</a></span>  <span class="keyword">typedef</span> std::list<std::string> <a class="code" href="classzypp_1_1Exception.html#a84365fdb2eef67590826f8a296e10f6f">History</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#ac3aaa8ced7187def3c64df67a700f1d9"> 152</a></span>  <span class="keyword">typedef</span> History::const_iterator <a class="code" href="classzypp_1_1Exception.html#ac3aaa8ced7187def3c64df67a700f1d9">HistoryIterator</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a4e306c7ee4f0a1aeeef7de8777b7446c"> 153</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">History::size_type</a> <a class="code" href="classzypp_1_1Exception.html#a4e306c7ee4f0a1aeeef7de8777b7446c">HistorySize</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">Exception</a>();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">Exception</a>( <span class="keyword">const</span> std::string & msg_r );</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">Exception</a>( std::string && msg_r );</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">Exception</a>( <span class="keyword">const</span> std::string & msg_r, <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> & history_r );</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">Exception</a>( std::string && msg_r, <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> & history_r );</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">Exception</a>( <span class="keyword">const</span> std::string & msg_r, <a class="code" href="classzypp_1_1Exception.html">Exception</a> && history_r );</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">Exception</a>( std::string && msg_r, <a class="code" href="classzypp_1_1Exception.html">Exception</a> && history_r );</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keyword">virtual</span> <a class="code" href="classzypp_1_1Exception.html#a2fda838fae947f04f3ed5e7cff562769">~Exception</a>() throw();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a3d068eea70e4790395eaef8f96aa2c73"> 183</a></span>  const <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> & <a class="code" href="classzypp_1_1Exception.html#a3d068eea70e4790395eaef8f96aa2c73">where</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Exception.html#a4f6ea3a995358a6463685b377767f4f1">_where</a>; }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#adbed782d4b284c7bdb4554c2f2aca324"> 187</a></span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#adbed782d4b284c7bdb4554c2f2aca324">relocate</a>( <span class="keyword">const</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> & where_r )<span class="keyword"> const</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword"> </span>{ <a class="code" href="classzypp_1_1Exception.html#a4f6ea3a995358a6463685b377767f4f1">_where</a> = where_r; }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a90ce3c9322069f3133564a7ddf43cd8d"> 195</a></span>  <span class="keyword">const</span> std::string & <a class="code" href="classzypp_1_1Exception.html#a90ce3c9322069f3133564a7ddf43cd8d">msg</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Exception.html#a2aa20d55a5a6bbb5d8176989ce9fe5f7">_msg</a>; }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  std::string <a class="code" href="classzypp_1_1Exception.html#a7c8c49689d44c0b297fbe6ba1d3400ec">asString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  std::string <a class="code" href="classzypp_1_1Exception.html#a455eac831a78965064cae8ed3b7d07ed">asUserString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#af6a5a1a9527e907e19bd94d61e0dc2be">remember</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> & old_r );</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#af6a5a1a9527e907e19bd94d61e0dc2be">remember</a>( <a class="code" href="classzypp_1_1Exception.html">Exception</a> && old_r );</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#a54f79410e094edccc4bccbe8f87854c1">addHistory</a>( <span class="keyword">const</span> std::string & msg_r );</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#a54f79410e094edccc4bccbe8f87854c1">addHistory</a>( std::string && msg_r );</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keyword">template</span><<span class="keyword">class</span> TContainer></div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#aca14b2fdddbb77a623898688c0ce1d71"> 227</a></span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#aca14b2fdddbb77a623898688c0ce1d71">addToHistory</a>( <span class="keyword">const</span> TContainer & msgc_r )</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">for</span> ( <span class="keyword">const</span> std::string & el : msgc_r )</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="classzypp_1_1Exception.html#a54f79410e094edccc4bccbe8f87854c1">addHistory</a>( el );</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">template</span><<span class="keyword">class</span> TContainer></div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#ab823e1697eada045babc6de041645463"> 234</a></span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#ab823e1697eada045babc6de041645463">moveToHistory</a>( TContainer && msgc_r )</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">for</span> ( std::string & el : msgc_r )</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="classzypp_1_1Exception.html#a54f79410e094edccc4bccbe8f87854c1">addHistory</a>( std::move(el) );</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a8346e9d44b22d844a2259db2ca33c7ef"> 241</a></span>  <a class="code" href="classzypp_1_1Exception.html#ac3aaa8ced7187def3c64df67a700f1d9">HistoryIterator</a> <a class="code" href="classzypp_1_1Exception.html#a8346e9d44b22d844a2259db2ca33c7ef">historyBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Exception.html#a52be34a96c7346dd47bee0bc6460f430">_history</a>.begin(); }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#ac26bc6ceaf90ec2fedffc03208d84da7"> 245</a></span>  <a class="code" href="classzypp_1_1Exception.html#ac3aaa8ced7187def3c64df67a700f1d9">HistoryIterator</a> <a class="code" href="classzypp_1_1Exception.html#ac26bc6ceaf90ec2fedffc03208d84da7">historyEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Exception.html#a52be34a96c7346dd47bee0bc6460f430">_history</a>.end(); }</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#af20cf4667dbdb71bccb1c04cd4b4c032"> 249</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1Exception.html#af20cf4667dbdb71bccb1c04cd4b4c032">historyEmpty</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Exception.html#a52be34a96c7346dd47bee0bc6460f430">_history</a>.empty(); }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#adfa4b6972bcdc173455d7a01068e221a"> 253</a></span>  <a class="code" href="classzypp_1_1Exception.html#a4e306c7ee4f0a1aeeef7de8777b7446c">HistorySize</a> <a class="code" href="classzypp_1_1Exception.html#adfa4b6972bcdc173455d7a01068e221a">historySize</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Exception.html#a52be34a96c7346dd47bee0bc6460f430">_history</a>.size(); }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  std::string <a class="code" href="classzypp_1_1Exception.html#a788b8d46495110434f4dc03fb73a2e85">historyAsString</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  std::string <a class="code" href="classzypp_1_1Exception.html#a2fdd31e4e499f99cec41273742b16f73">asUserHistory</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keyword">virtual</span> std::ostream & <a class="code" href="classzypp_1_1Exception.html#a78a1c89db7b943c545667a96d697cbee">dumpOn</a>( std::ostream & <a class="code" href="namespacestr.html">str</a> ) <span class="keyword">const</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keyword">static</span> std::string <a class="code" href="classzypp_1_1Exception.html#a2cf3935eaec01b862d58be69ad2a8b42">strErrno</a>( <span class="keywordtype">int</span> errno_r );</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keyword">static</span> std::string <a class="code" href="classzypp_1_1Exception.html#a2cf3935eaec01b862d58be69ad2a8b42">strErrno</a>( <span class="keywordtype">int</span> errno_r, <span class="keyword">const</span> std::string & msg_r );</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keyword">static</span> std::string <a class="code" href="classzypp_1_1Exception.html#a2cf3935eaec01b862d58be69ad2a8b42">strErrno</a>( <span class="keywordtype">int</span> errno_r, std::string && msg_r );</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">log</a>( <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html">Exception</a> & excpt_r, <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html#af5f2bb21780f01a605397a29b800ef6c">CodeLocation</a> & where_r,</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> prefix_r );</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">log</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * typename_r, <span class="keyword">const</span> <a class="code" href="classzypp_1_1Exception.html#af5f2bb21780f01a605397a29b800ef6c">CodeLocation</a> & where_r,</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> prefix_r );</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a4f6ea3a995358a6463685b377767f4f1"> 295</a></span>  <span class="keyword">mutable</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> <a class="code" href="classzypp_1_1Exception.html#a4f6ea3a995358a6463685b377767f4f1">_where</a>;</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a2aa20d55a5a6bbb5d8176989ce9fe5f7"> 296</a></span>  std::string <a class="code" href="classzypp_1_1Exception.html#a2aa20d55a5a6bbb5d8176989ce9fe5f7">_msg</a>;</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#a52be34a96c7346dd47bee0bc6460f430"> 297</a></span>  <a class="code" href="classzypp_1_1Exception.html#a84365fdb2eef67590826f8a296e10f6f">History</a> <a class="code" href="classzypp_1_1Exception.html#a52be34a96c7346dd47bee0bc6460f430">_history</a>;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classzypp_1_1Exception.html#ad60d9e7c6ea4c11eee52325ef11702c4"> 300</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classzypp_1_1Exception.html#ad60d9e7c6ea4c11eee52325ef11702c4">what</a>() <span class="keyword">const</span> throw()</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  { <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Exception.html#a2aa20d55a5a6bbb5d8176989ce9fe5f7">_msg</a>.c_str(); }</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  std::ostream & <a class="code" href="classzypp_1_1Exception.html#a361fa87903190bf4f06dacaa59b61699">dumpError</a>( std::ostream & <a class="code" href="namespacestr.html">str</a> ) <span class="keyword">const</span>;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  };</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  std::ostream & <a class="code" href="namespacezypp.html#a736823673697753a9826f368fefff5f0">operator<<</a>( std::ostream & <a class="code" href="namespacestr.html">str</a>, <span class="keyword">const</span> Exception & obj );</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keyword">namespace </span>exception_detail</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  {</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt></div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="namespacezypp_1_1exception__detail.html#ae59bddae348c8786c611ec4483c80fe4"> 319</a></span>  <span class="keyword">using</span> <a class="code" href="namespacezypp_1_1exception__detail.html#ae59bddae348c8786c611ec4483c80fe4">EnableIfIsException</a> = <span class="keyword">typename</span> std::enable_if< std::is_base_of<Exception,TExcpt>::value, <span class="keywordtype">int</span>>::type;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt></div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="namespacezypp_1_1exception__detail.html#a04dffbee77240134d9211e18424a4967"> 323</a></span>  <span class="keyword">using</span> <a class="code" href="namespacezypp_1_1exception__detail.html#a04dffbee77240134d9211e18424a4967">EnableIfNotException</a> = <span class="keyword">typename</span> std::enable_if< !std::is_base_of<Exception,TExcpt>::value, <span class="keywordtype">int</span>>::type;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfIsException<TExcpt> = 0></div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#aea584d30f9864cc65be16501acbbb492">do_ZYPP_THROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> & where_r ) __attribute__((noreturn));</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfIsException<TExcpt> = 0></div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="namespacezypp_1_1exception__detail.html#aea584d30f9864cc65be16501acbbb492"> 330</a></span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#aea584d30f9864cc65be16501acbbb492">do_ZYPP_THROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> & where_r )</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  excpt_r.relocate( where_r );</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">Exception::log</a>( excpt_r, where_r, <span class="stringliteral">"THROW: "</span> );</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">throw</span>( excpt_r );</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfNotException<TExcpt> = 0></div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#aea584d30f9864cc65be16501acbbb492">do_ZYPP_THROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> CodeLocation & where_r ) __attribute__((noreturn));</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfNotException<TExcpt> = 0></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#aea584d30f9864cc65be16501acbbb492">do_ZYPP_THROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> CodeLocation & where_r )</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">Exception::log</a>( <span class="keyword">typeid</span>(excpt_r).name(), where_r, <span class="stringliteral">"THROW: "</span> );</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">throw</span>( excpt_r );</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> </div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfIsException<TExcpt> = 0></div><div class="line"><a name="l00350"></a><span class="lineno"><a class="line" href="namespacezypp_1_1exception__detail.html#a34414abcef67c9491c9454fa5feedb45"> 350</a></span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#a34414abcef67c9491c9454fa5feedb45">do_ZYPP_CAUGHT</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> & where_r )</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  {</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">Exception::log</a>( excpt_r, where_r, <span class="stringliteral">"CAUGHT: "</span> );</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfNotException<TExcpt> = 0></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#a34414abcef67c9491c9454fa5feedb45">do_ZYPP_CAUGHT</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> CodeLocation & where_r )</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">Exception::log</a>( <span class="keyword">typeid</span>(excpt_r).name(), where_r, <span class="stringliteral">"CAUGHT: "</span> );</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> </div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span> </div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfIsException<TExcpt> = 0></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#a0110ed6a18676922f8d7ef452dc8792c">do_ZYPP_RETHROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> CodeLocation & where_r ) __attribute__((noreturn));</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfIsException<TExcpt> = 0></div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="namespacezypp_1_1exception__detail.html#a0110ed6a18676922f8d7ef452dc8792c"> 367</a></span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#a0110ed6a18676922f8d7ef452dc8792c">do_ZYPP_RETHROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> <a class="code" href="structzypp_1_1exception__detail_1_1CodeLocation.html">CodeLocation</a> & where_r )</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">Exception::log</a>( excpt_r, where_r, <span class="stringliteral">"RETHROW: "</span> );</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  excpt_r.relocate( where_r );</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">throw</span>;</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  }</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfNotException<TExcpt> = 0></div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#a0110ed6a18676922f8d7ef452dc8792c">do_ZYPP_RETHROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> CodeLocation & where_r ) __attribute__((noreturn));</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keyword">template</span><<span class="keyword">class</span> TExcpt, EnableIfNotException<TExcpt> = 0></div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1exception__detail.html#a0110ed6a18676922f8d7ef452dc8792c">do_ZYPP_RETHROW</a>( <span class="keyword">const</span> TExcpt & excpt_r, <span class="keyword">const</span> CodeLocation & where_r )</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  {</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">Exception::log</a>( excpt_r, where_r, <span class="stringliteral">"RETHROW: "</span> );</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">throw</span>;</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  } <span class="comment">// namespace exception_detail</span></div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> <span class="comment"></span></div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#gaf8c3a87d63dd4f26f059eddd62c22864"> 392</a></span> <span class="preprocessor">#define ZYPP_THROW(EXCPT)\</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor"> ::zypp::exception_detail::do_ZYPP_THROW( EXCPT, ZYPP_EX_CODELOCATION )</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#ga0a6d828c3e5802c5ca1ab6f5a86e9fc1"> 396</a></span> <span class="preprocessor">#define ZYPP_CAUGHT(EXCPT)\</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span> <span class="preprocessor"> ::zypp::exception_detail::do_ZYPP_CAUGHT( EXCPT, ZYPP_EX_CODELOCATION )</span></div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#ga08d9b1a11fa29455c0419afa1d186887"> 400</a></span> <span class="preprocessor">#define ZYPP_RETHROW(EXCPT)\</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="preprocessor"> ::zypp::exception_detail::do_ZYPP_RETHROW( EXCPT, ZYPP_EX_CODELOCATION )</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div><div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#ga4ea97b870a64170586dedde1cbc07319"> 405</a></span> <span class="preprocessor">#define ZYPP_THROW_MSG(EXCPTTYPE, MSG)\</span></div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="preprocessor"> ZYPP_THROW( EXCPTTYPE( MSG ) )</span></div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#ga447e5a6c74fe23871b4a3fdf7bbb651e"> 409</a></span> <span class="preprocessor">#define ZYPP_THROW_ERRNO(EXCPTTYPE)\</span></div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor"> ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(errno) ) )</span></div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div><div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#gae36ccdcc7e2f47609c657c5400d63a8e"> 413</a></span> <span class="preprocessor">#define ZYPP_THROW_ERRNO1(EXCPTTYPE, ERRNO)\</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor"> ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(ERRNO) ) )</span></div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#ga72ebdbf11a006abc6b004f0af7c37510"> 417</a></span> <span class="preprocessor">#define ZYPP_THROW_ERRNO_MSG(EXCPTTYPE, MSG)\</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"> ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(errno,MSG) ) )</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div><div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="group__ZYPP__THROW.html#gad170cd222688da57f2e8a4a9b0bbe842"> 421</a></span> <span class="preprocessor">#define ZYPP_THROW_ERRNO_MSG1(EXCPTTYPE, ERRNO,MSG)\</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"> ZYPP_THROW( EXCPTTYPE( ::zypp::Exception::strErrno(ERRNO,MSG) ) )</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span> } <span class="comment">// namespace zypp</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="comment"></span><span class="preprocessor">#endif // ZYPP_BASE_EXCEPTION_H</span></div><div class="ttc" id="classzypp_1_1Exception_html_ac26bc6ceaf90ec2fedffc03208d84da7"><div class="ttname"><a href="classzypp_1_1Exception.html#ac26bc6ceaf90ec2fedffc03208d84da7">zypp::Exception::historyEnd</a></div><div class="ttdeci">HistoryIterator historyEnd() const</div><div class="ttdoc">Iterator pointing behind the last message.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00245">Exception.h:245</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_aca14b2fdddbb77a623898688c0ce1d71"><div class="ttname"><a href="classzypp_1_1Exception.html#aca14b2fdddbb77a623898688c0ce1d71">zypp::Exception::addToHistory</a></div><div class="ttdeci">void addToHistory(const TContainer &msgc_r)</div><div class="ttdoc">addHistory from string container types (oldest first)</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00227">Exception.h:227</a></div></div> <div class="ttc" id="namespacezypp_1_1exception__detail_html_a34414abcef67c9491c9454fa5feedb45"><div class="ttname"><a href="namespacezypp_1_1exception__detail.html#a34414abcef67c9491c9454fa5feedb45">zypp::exception_detail::do_ZYPP_CAUGHT</a></div><div class="ttdeci">void do_ZYPP_CAUGHT(const TExcpt &excpt_r, const CodeLocation &where_r)</div><div class="ttdoc">Helper for ZYPP_THROW( Exception ).</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00350">Exception.h:350</a></div></div> <div class="ttc" id="namespacezypp_1_1exception__detail_html_a04dffbee77240134d9211e18424a4967"><div class="ttname"><a href="namespacezypp_1_1exception__detail.html#a04dffbee77240134d9211e18424a4967">zypp::exception_detail::EnableIfNotException</a></div><div class="ttdeci">typename std::enable_if< !std::is_base_of< Exception, TExcpt >::value, int >::type EnableIfNotException</div><div class="ttdoc">SFINAE: Hide template signature if TExcpt is derived from Exception.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00323">Exception.h:323</a></div></div> <div class="ttc" id="namespacezypp_1_1exception__detail_html_a83a26176dfc5d6061b09fe209e40c938"><div class="ttname"><a href="namespacezypp_1_1exception__detail.html#a83a26176dfc5d6061b09fe209e40c938">zypp::exception_detail::operator<<</a></div><div class="ttdeci">std::ostream & operator<<(std::ostream &str, const CodeLocation &obj)</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00038">Exception.cc:38</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a4f6ea3a995358a6463685b377767f4f1"><div class="ttname"><a href="classzypp_1_1Exception.html#a4f6ea3a995358a6463685b377767f4f1">zypp::Exception::_where</a></div><div class="ttdeci">CodeLocation _where</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00295">Exception.h:295</a></div></div> <div class="ttc" id="Errno_8h_html"><div class="ttname"><a href="Errno_8h.html">Errno.h</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html_ae07614151a46fab3f7bc4163264ed605"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html#ae07614151a46fab3f7bc4163264ed605">zypp::exception_detail::CodeLocation::_func</a></div><div class="ttdeci">std::string _func</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00055">Exception.h:55</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a78a1c89db7b943c545667a96d697cbee"><div class="ttname"><a href="classzypp_1_1Exception.html#a78a1c89db7b943c545667a96d697cbee">zypp::Exception::dumpOn</a></div><div class="ttdeci">virtual std::ostream & dumpOn(std::ostream &str) const</div><div class="ttdoc">Overload this to print a proper error message.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00141">Exception.cc:141</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a2cf3935eaec01b862d58be69ad2a8b42"><div class="ttname"><a href="classzypp_1_1Exception.html#a2cf3935eaec01b862d58be69ad2a8b42">zypp::Exception::strErrno</a></div><div class="ttdeci">static std::string strErrno(int errno_r)</div><div class="ttdoc">Make a string from errno_r.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00151">Exception.cc:151</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a54f79410e094edccc4bccbe8f87854c1"><div class="ttname"><a href="classzypp_1_1Exception.html#a54f79410e094edccc4bccbe8f87854c1">zypp::Exception::addHistory</a></div><div class="ttdeci">void addHistory(const std::string &msg_r)</div><div class="ttdoc">Add some message text to the history.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00125">Exception.cc:125</a></div></div> <div class="ttc" id="namespacestr_html"><div class="ttname"><a href="namespacestr.html">str</a></div><div class="ttdoc">String related utilities and Regular expression matching.</div></div> <div class="ttc" id="namespacezypp_1_1exception__detail_html_a0110ed6a18676922f8d7ef452dc8792c"><div class="ttname"><a href="namespacezypp_1_1exception__detail.html#a0110ed6a18676922f8d7ef452dc8792c">zypp::exception_detail::do_ZYPP_RETHROW</a></div><div class="ttdeci">void do_ZYPP_RETHROW(const TExcpt &excpt_r, const CodeLocation &where_r) __attribute__((noreturn))</div><div class="ttdoc">Helper for ZYPP_THROW( Exception ).</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00367">Exception.h:367</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_ad60d9e7c6ea4c11eee52325ef11702c4"><div class="ttname"><a href="classzypp_1_1Exception.html#ad60d9e7c6ea4c11eee52325ef11702c4">zypp::Exception::what</a></div><div class="ttdeci">virtual const char * what() const</div><div class="ttdoc">Return message string.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00300">Exception.h:300</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a2aa20d55a5a6bbb5d8176989ce9fe5f7"><div class="ttname"><a href="classzypp_1_1Exception.html#a2aa20d55a5a6bbb5d8176989ce9fe5f7">zypp::Exception::_msg</a></div><div class="ttdeci">std::string _msg</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00296">Exception.h:296</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_adfa4b6972bcdc173455d7a01068e221a"><div class="ttname"><a href="classzypp_1_1Exception.html#adfa4b6972bcdc173455d7a01068e221a">zypp::Exception::historySize</a></div><div class="ttdeci">HistorySize historySize() const</div><div class="ttdoc">The size of the history list.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00253">Exception.h:253</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_af6a5a1a9527e907e19bd94d61e0dc2be"><div class="ttname"><a href="classzypp_1_1Exception.html#af6a5a1a9527e907e19bd94d61e0dc2be">zypp::Exception::remember</a></div><div class="ttdeci">void remember(const Exception &old_r)</div><div class="ttdoc">Store an other Exception as history.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00105">Exception.cc:105</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a8235091610ff9160abe2637a164522e2"><div class="ttname"><a href="classzypp_1_1Exception.html#a8235091610ff9160abe2637a164522e2">zypp::Exception::log</a></div><div class="ttdeci">static void log(const Exception &excpt_r, const CodeLocation &where_r, const char *const prefix_r)</div><div class="ttdoc">Drop a logline on throw, catch or rethrow.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00163">Exception.cc:163</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_ab823e1697eada045babc6de041645463"><div class="ttname"><a href="classzypp_1_1Exception.html#ab823e1697eada045babc6de041645463">zypp::Exception::moveToHistory</a></div><div class="ttdeci">void moveToHistory(TContainer &&msgc_r)</div><div class="ttdoc">addHistory from string container types (oldest first) moving</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00234">Exception.h:234</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a8346e9d44b22d844a2259db2ca33c7ef"><div class="ttname"><a href="classzypp_1_1Exception.html#a8346e9d44b22d844a2259db2ca33c7ef">zypp::Exception::historyBegin</a></div><div class="ttdeci">HistoryIterator historyBegin() const</div><div class="ttdoc">Iterator pointing to the most recent message.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00241">Exception.h:241</a></div></div> <div class="ttc" id="namespacezypp_html_a736823673697753a9826f368fefff5f0"><div class="ttname"><a href="namespacezypp.html#a736823673697753a9826f368fefff5f0">zypp::operator<<</a></div><div class="ttdeci">std::ostream & operator<<(std::ostream &str, const Exception &obj)</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00147">Exception.cc:147</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a84365fdb2eef67590826f8a296e10f6f"><div class="ttname"><a href="classzypp_1_1Exception.html#a84365fdb2eef67590826f8a296e10f6f">zypp::Exception::History</a></div><div class="ttdeci">std::list< std::string > History</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00151">Exception.h:151</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a7c8c49689d44c0b297fbe6ba1d3400ec"><div class="ttname"><a href="classzypp_1_1Exception.html#a7c8c49689d44c0b297fbe6ba1d3400ec">zypp::Exception::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Error message provided by dumpOn as string.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00075">Exception.cc:75</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a2fdd31e4e499f99cec41273742b16f73"><div class="ttname"><a href="classzypp_1_1Exception.html#a2fdd31e4e499f99cec41273742b16f73">zypp::Exception::asUserHistory</a></div><div class="ttdeci">std::string asUserHistory() const</div><div class="ttdoc">A single (multiline) string composed of asUserString and historyAsString.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00091">Exception.cc:91</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a455eac831a78965064cae8ed3b7d07ed"><div class="ttname"><a href="classzypp_1_1Exception.html#a455eac831a78965064cae8ed3b7d07ed">zypp::Exception::asUserString</a></div><div class="ttdeci">std::string asUserString() const</div><div class="ttdoc">Translated error message as string suitable for the user.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00082">Exception.cc:82</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html_abb3c80d0b350dd3d0974815542821301"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html#abb3c80d0b350dd3d0974815542821301">zypp::exception_detail::CodeLocation::operator<<</a></div><div class="ttdeci">friend std::ostream & operator<<(std::ostream &str, const CodeLocation &obj)</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00038">Exception.cc:38</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a3d068eea70e4790395eaef8f96aa2c73"><div class="ttname"><a href="classzypp_1_1Exception.html#a3d068eea70e4790395eaef8f96aa2c73">zypp::Exception::where</a></div><div class="ttdeci">const CodeLocation & where() const</div><div class="ttdoc">Return CodeLocation.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00183">Exception.h:183</a></div></div> <div class="ttc" id="namespacezypp_1_1exception__detail_html_ae59bddae348c8786c611ec4483c80fe4"><div class="ttname"><a href="namespacezypp_1_1exception__detail.html#ae59bddae348c8786c611ec4483c80fe4">zypp::exception_detail::EnableIfIsException</a></div><div class="ttdeci">typename std::enable_if< std::is_base_of< Exception, TExcpt >::value, int >::type EnableIfIsException</div><div class="ttdoc">SFINAE: Hide template signature unless TExcpt is derived from Exception.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00319">Exception.h:319</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html_a4bdecd258180e6ab5b7dc83894988cb6"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html#a4bdecd258180e6ab5b7dc83894988cb6">zypp::exception_detail::CodeLocation::_file</a></div><div class="ttdeci">std::string _file</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00054">Exception.h:54</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_af20cf4667dbdb71bccb1c04cd4b4c032"><div class="ttname"><a href="classzypp_1_1Exception.html#af20cf4667dbdb71bccb1c04cd4b4c032">zypp::Exception::historyEmpty</a></div><div class="ttdeci">bool historyEmpty() const</div><div class="ttdoc">Whether the history list is empty.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00249">Exception.h:249</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a788b8d46495110434f4dc03fb73a2e85"><div class="ttname"><a href="classzypp_1_1Exception.html#a788b8d46495110434f4dc03fb73a2e85">zypp::Exception::historyAsString</a></div><div class="ttdeci">std::string historyAsString() const</div><div class="ttdoc">The history as string.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00131">Exception.cc:131</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a2fda838fae947f04f3ed5e7cff562769"><div class="ttname"><a href="classzypp_1_1Exception.html#a2fda838fae947f04f3ed5e7cff562769">zypp::Exception::~Exception</a></div><div class="ttdeci">virtual ~Exception()</div><div class="ttdoc">Dtor.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00072">Exception.cc:72</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a52be34a96c7346dd47bee0bc6460f430"><div class="ttname"><a href="classzypp_1_1Exception.html#a52be34a96c7346dd47bee0bc6460f430">zypp::Exception::_history</a></div><div class="ttdeci">History _history</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00297">Exception.h:297</a></div></div> <div class="ttc" id="namespacezypp_1_1sat_1_1detail_html_ac0d3ca93132eee14b022898f23b49d07"><div class="ttname"><a href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">zypp::sat::detail::size_type</a></div><div class="ttdeci">SolvableIdType size_type</div><div class="ttdef"><b>Definition:</b> <a href="PoolMember_8h_source.html#l00152">PoolMember.h:152</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a9b6b4359936c74f0a4ecc0cf2d5c0c99"><div class="ttname"><a href="classzypp_1_1Exception.html#a9b6b4359936c74f0a4ecc0cf2d5c0c99">zypp::Exception::Exception</a></div><div class="ttdeci">Exception()</div><div class="ttdoc">Default ctor.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00045">Exception.cc:45</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html_a060a9f67e285386067d0e29e804a322f"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html#a060a9f67e285386067d0e29e804a322f">zypp::exception_detail::CodeLocation::CodeLocation</a></div><div class="ttdeci">CodeLocation(const std::string &file_r, const std::string &func_r, unsigned line_r)</div><div class="ttdoc">Ctor.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00044">Exception.h:44</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_aa3ed3dcd5a961f1328369df36e6431fb"><div class="ttname"><a href="classzypp_1_1Exception.html#aa3ed3dcd5a961f1328369df36e6431fb">zypp::Exception::operator<<</a></div><div class="ttdeci">friend std::ostream & operator<<(std::ostream &str, const Exception &obj)</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00147">Exception.cc:147</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html"><div class="ttname"><a href="classzypp_1_1Exception.html">zypp::Exception</a></div><div class="ttdoc">Base class for Exception.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00145">Exception.h:145</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a4e306c7ee4f0a1aeeef7de8777b7446c"><div class="ttname"><a href="classzypp_1_1Exception.html#a4e306c7ee4f0a1aeeef7de8777b7446c">zypp::Exception::HistorySize</a></div><div class="ttdeci">History::size_type HistorySize</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00153">Exception.h:153</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_af5f2bb21780f01a605397a29b800ef6c"><div class="ttname"><a href="classzypp_1_1Exception.html#af5f2bb21780f01a605397a29b800ef6c">zypp::Exception::CodeLocation</a></div><div class="ttdeci">exception_detail::CodeLocation CodeLocation</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00150">Exception.h:150</a></div></div> <div class="ttc" id="namespacezypp_1_1exception__detail_html_aea584d30f9864cc65be16501acbbb492"><div class="ttname"><a href="namespacezypp_1_1exception__detail.html#aea584d30f9864cc65be16501acbbb492">zypp::exception_detail::do_ZYPP_THROW</a></div><div class="ttdeci">void do_ZYPP_THROW(const TExcpt &excpt_r, const CodeLocation &where_r) __attribute__((noreturn))</div><div class="ttdoc">Helper for ZYPP_THROW( Exception ).</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00330">Exception.h:330</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a361fa87903190bf4f06dacaa59b61699"><div class="ttname"><a href="classzypp_1_1Exception.html#a361fa87903190bf4f06dacaa59b61699">zypp::Exception::dumpError</a></div><div class="ttdeci">std::ostream & dumpError(std::ostream &str) const</div><div class="ttdoc">Called by std::ostream & operator<<.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00144">Exception.cc:144</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html">zypp::exception_detail::CodeLocation</a></div><div class="ttdoc">Keep FILE, FUNCTION and LINE.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00034">Exception.h:34</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_adbed782d4b284c7bdb4554c2f2aca324"><div class="ttname"><a href="classzypp_1_1Exception.html#adbed782d4b284c7bdb4554c2f2aca324">zypp::Exception::relocate</a></div><div class="ttdeci">void relocate(const CodeLocation &where_r) const</div><div class="ttdoc">Exchange location on rethrow.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00187">Exception.h:187</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html_a8a7af7d11c150a735dbd133506afcc50"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html#a8a7af7d11c150a735dbd133506afcc50">zypp::exception_detail::CodeLocation::_line</a></div><div class="ttdeci">unsigned _line</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00056">Exception.h:56</a></div></div> <div class="ttc" id="namespacezypp_html"><div class="ttname"><a href="namespacezypp.html">zypp</a></div><div class="ttdoc">Easy-to use interface to the ZYPP dependency resolver.</div><div class="ttdef"><b>Definition:</b> <a href="CodePitfalls_8doc_source.html#l00001">CodePitfalls.doc:1</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_ac3aaa8ced7187def3c64df67a700f1d9"><div class="ttname"><a href="classzypp_1_1Exception.html#ac3aaa8ced7187def3c64df67a700f1d9">zypp::Exception::HistoryIterator</a></div><div class="ttdeci">History::const_iterator HistoryIterator</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00152">Exception.h:152</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html_a2d20b14481ecdf61d77f912651927f3b"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html#a2d20b14481ecdf61d77f912651927f3b">zypp::exception_detail::CodeLocation::CodeLocation</a></div><div class="ttdeci">CodeLocation()</div><div class="ttdoc">Ctor.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00039">Exception.h:39</a></div></div> <div class="ttc" id="structzypp_1_1exception__detail_1_1CodeLocation_html_a73e81cf5d5ef55e0d86b6ef2f30f46bb"><div class="ttname"><a href="structzypp_1_1exception__detail_1_1CodeLocation.html#a73e81cf5d5ef55e0d86b6ef2f30f46bb">zypp::exception_detail::CodeLocation::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Location as string.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8cc_source.html#l00030">Exception.cc:30</a></div></div> <div class="ttc" id="classzypp_1_1Exception_html_a90ce3c9322069f3133564a7ddf43cd8d"><div class="ttname"><a href="classzypp_1_1Exception.html#a90ce3c9322069f3133564a7ddf43cd8d">zypp::Exception::msg</a></div><div class="ttdeci">const std::string & msg() const</div><div class="ttdoc">Return the message string provided to the ctor.</div><div class="ttdef"><b>Definition:</b> <a href="Exception_8h_source.html#l00195">Exception.h:195</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_c187b43c6f283d9fc95eff3f44ce072a.html">zypp</a></li><li class="navelem"><a class="el" href="dir_76651d3a0256a4372f696a008d71ee69.html">base</a></li><li class="navelem"><a class="el" href="Exception_8h.html">Exception.h</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>