███████████: addition to prev. revision [#CONV-2546].

This commit is contained in:
Alexey Milovidov 2011-12-12 01:06:13 +00:00
parent 450be4a929
commit f44f652c1f
5 changed files with 19 additions and 6 deletions

View File

@ -71,7 +71,7 @@ public:
try
{
nextImpl();
next();
}
catch (...)
{

View File

@ -93,7 +93,7 @@ public:
try
{
nextImpl();
next();
Poco::Net::HTTPResponse response;
std::istream & istr = session.receiveResponse(response);

View File

@ -31,11 +31,24 @@ public:
if (!offset())
return;
bytes += offset();
nextImpl();
try
{
nextImpl();
}
catch (...)
{
/** Если вызов nextImpl() был неудачным, то переместим курсор в начало,
* чтобы потом (например, при развёртке стека) не было второй попытки записать данные.
*/
pos = working_buffer.begin();
throw;
}
pos = working_buffer.begin();
}
/** желательно в наследниках поместить в деструктор вызов nextImpl(),
/** желательно в наследниках поместить в деструктор вызов next(),
* чтобы последние данные записались
*/
virtual ~WriteBuffer() {}

View File

@ -53,7 +53,7 @@ public:
try
{
nextImpl();
next();
}
catch (...)
{

View File

@ -39,7 +39,7 @@ public:
try
{
nextImpl();
next();
}
catch (...)
{