<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>fastcgi++: exceptions.hpp Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <h1>exceptions.hpp</h1><a href="exceptions_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <a name="l00002"></a>00002 <span class="comment">/***************************************************************************</span> <a name="l00003"></a>00003 <span class="comment">* Copyright (C) 2007 Eddie *</span> <a name="l00004"></a>00004 <span class="comment">* *</span> <a name="l00005"></a>00005 <span class="comment">* This file is part of fastcgi++. *</span> <a name="l00006"></a>00006 <span class="comment">* *</span> <a name="l00007"></a>00007 <span class="comment">* fastcgi++ is free software: you can redistribute it and/or modify it *</span> <a name="l00008"></a>00008 <span class="comment">* under the terms of the GNU Lesser General Public License as published *</span> <a name="l00009"></a>00009 <span class="comment">* by the Free Software Foundation, either version 3 of the License, or (at *</span> <a name="l00010"></a>00010 <span class="comment">* your option) any later version. *</span> <a name="l00011"></a>00011 <span class="comment">* *</span> <a name="l00012"></a>00012 <span class="comment">* fastcgi++ is distributed in the hope that it will be useful, but WITHOUT *</span> <a name="l00013"></a>00013 <span class="comment">* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *</span> <a name="l00014"></a>00014 <span class="comment">* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public *</span> <a name="l00015"></a>00015 <span class="comment">* License for more details. *</span> <a name="l00016"></a>00016 <span class="comment">* *</span> <a name="l00017"></a>00017 <span class="comment">* You should have received a copy of the GNU Lesser General Public License *</span> <a name="l00018"></a>00018 <span class="comment">* along with fastcgi++. If not, see <http://www.gnu.org/licenses/>. *</span> <a name="l00019"></a>00019 <span class="comment">****************************************************************************/</span> <a name="l00020"></a>00020 <a name="l00021"></a>00021 <a name="l00022"></a>00022 <span class="preprocessor">#ifndef EXCEPTIONS_HPP</span> <a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define EXCEPTIONS_HPP</span> <a name="l00024"></a>00024 <span class="preprocessor"></span> <a name="l00025"></a>00025 <span class="preprocessor">#include <exception></span> <a name="l00026"></a>00026 <span class="preprocessor">#include <string></span> <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="preprocessor">#include <<a class="code" href="protocol_8hpp.html" title="Defines FastCGI protocol.">fastcgi++/protocol.hpp</a>></span> <a name="l00029"></a>00029 <a name="l00031"></a><a class="code" href="namespaceFastcgipp.html">00031</a> <span class="keyword">namespace </span>Fastcgipp <a name="l00032"></a>00032 { <a name="l00034"></a><a class="code" href="namespaceFastcgipp_1_1Exceptions.html">00034</a> <span class="keyword">namespace </span>Exceptions <a name="l00035"></a>00035 { <a name="l00037"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html">00037</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html" title="General fastcgi++ exception.">Exception</a>: <span class="keyword">public</span> std::exception <a name="l00038"></a>00038 { <a name="l00039"></a>00039 <span class="keyword">public</span>: <a name="l00040"></a>00040 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html#e86d4deea3f9444df1e1d861224a0051">what</a>() <span class="keyword">const</span> <span class="keywordflow">throw</span>() =0; <a name="l00041"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html#f3604a9c0824f988efa3145d58f2b5eb">00041</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html#f3604a9c0824f988efa3145d58f2b5eb">~Exception</a>() throw() {} <a name="l00042"></a>00042 }; <a name="l00043"></a>00043 <a name="l00045"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html">00045</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html" title="General fastcgi++ request exception.">Request</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html" title="General fastcgi++ exception.">Exception</a> <a name="l00046"></a>00046 { <a name="l00047"></a>00047 <span class="keyword">public</span>: <a name="l00049"></a>00049 <a name="l00052"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#6291792c6f276840444ce636f7b2c5fe">00052</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#6291792c6f276840444ce636f7b2c5fe" title="Sole Constructor.">Request</a>(<a class="code" href="structFastcgipp_1_1Protocol_1_1FullId.html" title="A full ID value for a FastCGI request.">Protocol::FullId</a> id_): <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#59507ee700b4bf779f8afbe2a9eeb2c3" title="ID value for the request that generated the exception.">id</a>(id_) { } <a name="l00053"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#cd7c61cb6a4fe721cf04372160d5403f">00053</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#cd7c61cb6a4fe721cf04372160d5403f">~Request</a>() throw() {} <a name="l00054"></a>00054 <a name="l00055"></a>00055 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#fdcb953126c7cf62ea02f254d1d0b90d">what</a>() <span class="keyword">const</span> throw() =0; <a name="l00056"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#5676c456c049e93044b8098262b4793d">00056</a> Protocol::FullId <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#5676c456c049e93044b8098262b4793d">getId</a>() const throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#59507ee700b4bf779f8afbe2a9eeb2c3" title="ID value for the request that generated the exception.">id</a>; } <a name="l00057"></a>00057 <span class="keyword">protected</span>: <a name="l00059"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#59507ee700b4bf779f8afbe2a9eeb2c3">00059</a> <a class="code" href="structFastcgipp_1_1Protocol_1_1FullId.html" title="A full ID value for a FastCGI request.">Protocol::FullId</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html#59507ee700b4bf779f8afbe2a9eeb2c3" title="ID value for the request that generated the exception.">id</a>; <a name="l00060"></a>00060 }; <a name="l00061"></a>00061 <a name="l00063"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html">00063</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html" title="Exception for parameter decoding errors">Param</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html" title="General fastcgi++ request exception.">Request</a> <a name="l00064"></a>00064 { <a name="l00065"></a>00065 <span class="keyword">public</span>: <a name="l00067"></a>00067 <a name="l00070"></a>00070 <a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#445757efff18b9c7d772698650c29757" title="Sole Constructor.">Param</a>(<a class="code" href="structFastcgipp_1_1Protocol_1_1FullId.html" title="A full ID value for a FastCGI request.">Protocol::FullId</a> id_); <a name="l00071"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#db82da340a450880770e8d49b84cc776">00071</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#db82da340a450880770e8d49b84cc776">~Param</a>() throw() {} <a name="l00072"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#55db44268bf0903a2f0f8c6167cae57c">00072</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#55db44268bf0903a2f0f8c6167cae57c">what</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#63c810644dcac3a70242f540622d1eb4" title="Error message associated with the exception.">msg</a>.c_str(); } <a name="l00073"></a>00073 <span class="keyword">private</span>: <a name="l00075"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#63c810644dcac3a70242f540622d1eb4">00075</a> std::string <a class="code" href="classFastcgipp_1_1Exceptions_1_1Param.html#63c810644dcac3a70242f540622d1eb4" title="Error message associated with the exception.">msg</a>; <a name="l00076"></a>00076 }; <a name="l00077"></a>00077 <a name="l00079"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html">00079</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html" title="Exception for output stream processing">Stream</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html" title="General fastcgi++ request exception.">Request</a> <a name="l00080"></a>00080 { <a name="l00081"></a>00081 <span class="keyword">public</span>: <a name="l00083"></a>00083 <a name="l00086"></a>00086 <a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#d996e17a4c43839064aac54d78653fdd" title="Sole Constructor.">Stream</a>(<a class="code" href="structFastcgipp_1_1Protocol_1_1FullId.html" title="A full ID value for a FastCGI request.">Protocol::FullId</a> id_); <a name="l00087"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#4afd0344b7bdab31df8793e2e19c6fe8">00087</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#4afd0344b7bdab31df8793e2e19c6fe8">~Stream</a>() throw() {} <a name="l00088"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#60567dea6a70d06c8404b61fec06c9b1">00088</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#60567dea6a70d06c8404b61fec06c9b1">what</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#beded9b300d400b0b94da76231f08d37" title="Error message associated with the exception.">msg</a>.c_str(); } <a name="l00089"></a>00089 <span class="keyword">private</span>: <a name="l00091"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#beded9b300d400b0b94da76231f08d37">00091</a> std::string <a class="code" href="classFastcgipp_1_1Exceptions_1_1Stream.html#beded9b300d400b0b94da76231f08d37" title="Error message associated with the exception.">msg</a>; <a name="l00092"></a>00092 }; <a name="l00093"></a>00093 <a name="l00095"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html">00095</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html" title="Exception for reception of records out of order">RecordOutOfOrder</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Request.html" title="General fastcgi++ request exception.">Request</a> <a name="l00096"></a>00096 { <a name="l00097"></a>00097 <span class="keyword">public</span>: <a name="l00099"></a>00099 <a name="l00104"></a>00104 <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#60e1b39d10ef8213f22ba95bbaeedd5e" title="Sole Constructor.">RecordOutOfOrder</a>(<a class="code" href="structFastcgipp_1_1Protocol_1_1FullId.html" title="A full ID value for a FastCGI request.">Protocol::FullId</a> id_, <a class="code" href="namespaceFastcgipp_1_1Protocol.html#79e41b489a9b2c0374eee108d375b646" title="Defines the types of records within the FastCGI protocol.">Protocol::RecordType</a> expectedRecord_, <a class="code" href="namespaceFastcgipp_1_1Protocol.html#79e41b489a9b2c0374eee108d375b646" title="Defines the types of records within the FastCGI protocol.">Protocol::RecordType</a> recievedRecord_); <a name="l00105"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#a50d3e5aca7b053c46722f0e4bd01511">00105</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#a50d3e5aca7b053c46722f0e4bd01511">~RecordOutOfOrder</a>() throw() {} <a name="l00106"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#e693bdf1a6d4814ea4fbf86e4c71afbe">00106</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#e693bdf1a6d4814ea4fbf86e4c71afbe">what</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#1db8729972d144bd055f95075e378c73" title="Error message associated with the exception.">msg</a>.c_str(); } <a name="l00107"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#b0b032e7ec1341aa67bd19460214c7ec">00107</a> <a class="code" href="namespaceFastcgipp_1_1Protocol.html#79e41b489a9b2c0374eee108d375b646" title="Defines the types of records within the FastCGI protocol.">Protocol::RecordType</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#b0b032e7ec1341aa67bd19460214c7ec">getExpectedRecord</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#08a27839fa3163c8be536e6229ac8fec" title="Type of record that was expected.">expectedRecord</a>; } <a name="l00108"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#21661d38cd383bb26c3839b62307f34a">00108</a> <a class="code" href="namespaceFastcgipp_1_1Protocol.html#79e41b489a9b2c0374eee108d375b646" title="Defines the types of records within the FastCGI protocol.">Protocol::RecordType</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#21661d38cd383bb26c3839b62307f34a">getRecievedRecord</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#56f6f148a2e5ae0e988299da93398e58" title="Type of record that was recieved.">recievedRecord</a>; } <a name="l00109"></a>00109 <span class="keyword">private</span>: <a name="l00111"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#08a27839fa3163c8be536e6229ac8fec">00111</a> <a class="code" href="namespaceFastcgipp_1_1Protocol.html#79e41b489a9b2c0374eee108d375b646" title="Defines the types of records within the FastCGI protocol.">Protocol::RecordType</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#08a27839fa3163c8be536e6229ac8fec" title="Type of record that was expected.">expectedRecord</a>; <a name="l00113"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#56f6f148a2e5ae0e988299da93398e58">00113</a> <a class="code" href="namespaceFastcgipp_1_1Protocol.html#79e41b489a9b2c0374eee108d375b646" title="Defines the types of records within the FastCGI protocol.">Protocol::RecordType</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#56f6f148a2e5ae0e988299da93398e58" title="Type of record that was recieved.">recievedRecord</a>; <a name="l00115"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#1db8729972d144bd055f95075e378c73">00115</a> std::string <a class="code" href="classFastcgipp_1_1Exceptions_1_1RecordOutOfOrder.html#1db8729972d144bd055f95075e378c73" title="Error message associated with the exception.">msg</a>; <a name="l00116"></a>00116 }; <a name="l00117"></a>00117 <a name="l00119"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html">00119</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html" title="General exception for socket related errors.">Socket</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html" title="General fastcgi++ exception.">Exception</a> <a name="l00120"></a>00120 { <a name="l00121"></a>00121 <span class="keyword">public</span>: <a name="l00123"></a>00123 <a name="l00127"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#59fcbfcef13f7261dc7e1c239d34bd0f">00127</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#59fcbfcef13f7261dc7e1c239d34bd0f" title="Sole Constructor.">Socket</a>(<span class="keywordtype">int</span> fd_, <span class="keywordtype">int</span> erno_): <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#f18bcfa989c76a354f9b1622af4f9c73" title="File descriptor of socket.">fd</a>(fd_), <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#5b06369c2f33ce35bbaf757348970e59" title="Associated errno.">erno</a>(erno_) { } <a name="l00128"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#523104437b5f804758e7fe0b49b09272">00128</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#523104437b5f804758e7fe0b49b09272">~Socket</a>() throw() {} <a name="l00129"></a>00129 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#6cefb91cd71fa39e2867c6e626094883">what</a>() <span class="keyword">const</span> throw() =0; <a name="l00130"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#639cc1f1c976fc28211ed3e58bc87e2b">00130</a> <span class="keywordtype">int</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#639cc1f1c976fc28211ed3e58bc87e2b">getFd</a>() const throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#f18bcfa989c76a354f9b1622af4f9c73" title="File descriptor of socket.">fd</a>; } <a name="l00131"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#3cdf29cb2b220c4a09d1742b629eb6a6">00131</a> <span class="keywordtype">int</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#3cdf29cb2b220c4a09d1742b629eb6a6">getErrno</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#5b06369c2f33ce35bbaf757348970e59" title="Associated errno.">erno</a>; } <a name="l00132"></a>00132 <span class="keyword">protected</span>: <a name="l00134"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#f18bcfa989c76a354f9b1622af4f9c73">00134</a> <span class="keywordtype">int</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#f18bcfa989c76a354f9b1622af4f9c73" title="File descriptor of socket.">fd</a>; <a name="l00136"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#5b06369c2f33ce35bbaf757348970e59">00136</a> <span class="keywordtype">int</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html#5b06369c2f33ce35bbaf757348970e59" title="Associated errno.">erno</a>; <a name="l00137"></a>00137 }; <a name="l00138"></a>00138 <a name="l00140"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html">00140</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html" title="Exception for write errors to sockets">SocketWrite</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html" title="General exception for socket related errors.">Socket</a> <a name="l00141"></a>00141 { <a name="l00142"></a>00142 <span class="keyword">public</span>: <a name="l00144"></a>00144 <a name="l00148"></a>00148 <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#504556689fd04525e88db4be17863bda" title="Sole Constructor.">SocketWrite</a>(<span class="keywordtype">int</span> fd_, <span class="keywordtype">int</span> erno_); <a name="l00149"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#e1121fb5dc766aceb98e14427dd5f5fb">00149</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#e1121fb5dc766aceb98e14427dd5f5fb">~SocketWrite</a>() throw() {} <a name="l00150"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#731edf072ab70ba02d0d94a408388088">00150</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#731edf072ab70ba02d0d94a408388088">what</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#f72ded2aa784c379031a98807f88b134" title="Error message associated with the exception.">msg</a>.c_str(); } <a name="l00151"></a>00151 <span class="keyword">private</span>: <a name="l00153"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#f72ded2aa784c379031a98807f88b134">00153</a> std::string <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketWrite.html#f72ded2aa784c379031a98807f88b134" title="Error message associated with the exception.">msg</a>; <a name="l00154"></a>00154 }; <a name="l00155"></a>00155 <a name="l00157"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html">00157</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html" title="Exception for read errors to sockets">SocketRead</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Socket.html" title="General exception for socket related errors.">Socket</a> <a name="l00158"></a>00158 { <a name="l00159"></a>00159 <span class="keyword">public</span>: <a name="l00161"></a>00161 <a name="l00165"></a>00165 <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#7d1bdda3376e37c47cd98735171ab513" title="Sole Constructor.">SocketRead</a>(<span class="keywordtype">int</span> fd_, <span class="keywordtype">int</span> erno_); <a name="l00166"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#37ecb23b03c53c0807ace7047134db0c">00166</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#37ecb23b03c53c0807ace7047134db0c">~SocketRead</a>() throw() {} <a name="l00167"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#9a98777eab7bdac22d0819e3bb6ae09e">00167</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#9a98777eab7bdac22d0819e3bb6ae09e">what</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#da05963acc42897f6bc1fd03d55603f5" title="Error message associated with the exception.">msg</a>.c_str(); } <a name="l00168"></a>00168 <span class="keyword">private</span>: <a name="l00170"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#da05963acc42897f6bc1fd03d55603f5">00170</a> std::string <a class="code" href="classFastcgipp_1_1Exceptions_1_1SocketRead.html#da05963acc42897f6bc1fd03d55603f5" title="Error message associated with the exception.">msg</a>; <a name="l00171"></a>00171 }; <a name="l00172"></a>00172 <a name="l00174"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html">00174</a> <span class="keyword">class </span><a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html" title="Exception for poll() errors">Poll</a>: <span class="keyword">public</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Exception.html" title="General fastcgi++ exception.">Exception</a> <a name="l00175"></a>00175 { <a name="l00176"></a>00176 <span class="keyword">public</span>: <a name="l00178"></a>00178 <a name="l00181"></a>00181 <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#cbac69e320c00b584acabeaef201c90b" title="Sole Constructor.">Poll</a>(<span class="keywordtype">int</span> erno_); <a name="l00182"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#6654d9b3351fb7e1ad5105f2122172aa">00182</a> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#6654d9b3351fb7e1ad5105f2122172aa">~Poll</a>() throw() {} <a name="l00183"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#1722feef58548cd564fe08a9ac66bdaa">00183</a> <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#1722feef58548cd564fe08a9ac66bdaa">what</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#321d625a3bf788ccac213c6173cca613" title="Error message associated with the exception.">msg</a>.c_str(); } <a name="l00184"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#420705fa7ea2b63a9590046be59215d2">00184</a> <span class="keywordtype">int</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#420705fa7ea2b63a9590046be59215d2">getErno</a>() <span class="keyword">const</span> throw() { <span class="keywordflow">return</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#db58bfef99cb7072fbe4619ae9d700a7" title="Associated errno.">erno</a>; } <a name="l00185"></a>00185 <span class="keyword">private</span>: <a name="l00187"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#db58bfef99cb7072fbe4619ae9d700a7">00187</a> <span class="keywordtype">int</span> <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#db58bfef99cb7072fbe4619ae9d700a7" title="Associated errno.">erno</a>; <a name="l00189"></a><a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#321d625a3bf788ccac213c6173cca613">00189</a> std::string <a class="code" href="classFastcgipp_1_1Exceptions_1_1Poll.html#321d625a3bf788ccac213c6173cca613" title="Error message associated with the exception.">msg</a>; <a name="l00190"></a>00190 }; <a name="l00191"></a>00191 } <a name="l00192"></a>00192 } <a name="l00193"></a>00193 <a name="l00194"></a>00194 <span class="preprocessor">#endif</span> </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 16 15:17:46 2008 for fastcgi++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>