Unify common error category message into a function

This commit is contained in:
Gioacchino Mazzurco 2020-06-09 20:08:23 +02:00
parent 4f0e18cbfd
commit 275bdba132
No known key found for this signature in database
GPG Key ID: A1FBCA3872E87051
4 changed files with 14 additions and 5 deletions

View File

@ -33,6 +33,7 @@
#include "serialiser/rsserializable.h"
#include "serialiser/rstypeserializer.h"
#include "util/rstime.h"
#include "util/rsdebug.h"
class RsEvents;
@ -126,8 +127,7 @@ struct RsEventsErrorCategory: std::error_category
case RsEventsErrorNum::INVALID_HANDLER_ID:
return "Invalid handler id";
default:
return "Error message for error: " + std::to_string(ev) +
" not available in category: " + name();
return rsErrorNotInCategory(ev, name());
}
}

View File

@ -37,6 +37,7 @@
#include "util/rstime.h"
#include "retroshare/rsevents.h"
#include "util/rsmemory.h"
#include "util/rsdebug.h"
class RsFiles;
@ -63,8 +64,7 @@ struct RsFilesErrorCategory: std::error_category
case RsFilesErrorNum::FILES_HANDLE_NOT_FOUND:
return "Files handle not found";
default:
return "Error message for error: " + std::to_string(ev) +
" not available in category: " + name();
return rsErrorNotInCategory(ev, name());
}
}

View File

@ -30,6 +30,12 @@ std::ostream &operator<<(std::ostream& out, const std::error_condition& err)
<< " category: " << err.category().name();
}
std::string rsErrorNotInCategory(int errNum, const std::string& categoryName)
{
return "Error message for error: " + std::to_string(errNum) +
" not available in category: " + categoryName;
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

View File

@ -61,6 +61,10 @@ enum class RsLoggerCategories
/** Stream helper for std::error_condition */
std::ostream &operator<<(std::ostream& out, const std::error_condition& err);
/** Provide unkown error message for all error categories to avoid duplicating
* the message around */
std::string rsErrorNotInCategory(int errNum, const std::string& categoryName);
template <RsLoggerCategories CATEGORY>
struct t_RsLogger : std::ostringstream
@ -201,7 +205,6 @@ struct RsNoDbg
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////