DataIO_Exception.cpp
上传用户:kx_jwh
上传日期:2021-09-03
资源大小:76k
文件大小:2k
源码类别:

STL

开发平台:

Visual C++

  1. /* vim: set tabstop=4 : */
  2. #include "DataIO_Exception.h"
  3. #include <sstream>
  4. namespace febird {
  5. DataFormatException::DataFormatException(const char* szMsg)
  6. : m_message(szMsg)
  7. { }
  8. DataFormatException::DataFormatException(const std::string& strMsg)
  9. : m_message(strMsg)
  10. { }
  11. DataFormatException::~DataFormatException() throw()
  12. {}
  13. InvalidObjectException::InvalidObjectException(const char* szMsg)
  14. : DataFormatException(szMsg)
  15. { }
  16. InvalidObjectException::InvalidObjectException(const std::string& strMsg)
  17. : DataFormatException(strMsg)
  18. { }
  19. // a size value is too large, such as container's size
  20. //
  21. void SizeValueTooLargeException::checkSizeValue(size_t value, size_t maxValue)
  22. {
  23. if (value > maxValue)
  24. throw SizeValueTooLargeException(value, maxValue);
  25. }
  26. SizeValueTooLargeException::SizeValueTooLargeException(size_t value, size_t maxValue, const char* szMsg)
  27. : DataFormatException(szMsg)
  28. {
  29. char szBuf[256];
  30. sprintf(szBuf, "[value=%zd(0x%zX), maxValue=%zd(0x%zX)]", value, value, maxValue, maxValue);
  31. m_message.append(szBuf);
  32. }
  33. SizeValueTooLargeException::SizeValueTooLargeException(const std::string& strMsg)
  34. : DataFormatException(strMsg)
  35. { }
  36. BadVersionException::BadVersionException(unsigned loaded_version, unsigned curr_version, const char* className)
  37. : DataFormatException(""), m_loaded_version(loaded_version), m_curr_version(curr_version)
  38. {
  39. std::ostringstream oss;
  40. oss << "class="" << className << "", version[loaded=" << loaded_version << ", current=" << curr_version << "]";
  41. m_message = oss.str();
  42. }
  43. NotFoundFactoryException::NotFoundFactoryException(const char* szMsg)
  44. : DataFormatException(szMsg)
  45. { }
  46. NotFoundFactoryException::NotFoundFactoryException(const std::string& strMsg)
  47. : DataFormatException(strMsg)
  48. { }
  49. } // namespace febird