【问题标题】:Does boost::crc_32_type generate any exceptions?boost::crc_32_type 会产生任何异常吗?
【发布时间】:2011-10-02 18:44:39
【问题描述】:

假设 BufferLenght >=0 并且 *Buffer 是一个有效的缓冲区,下面的代码会产生异常吗?如果 Buffer 无效怎么办?有没有什么情况会产生异常以及如何处理?

unsigned CRC32(const void *Buffer, unsigned BufferLength)
    {
    boost::crc_32_type result;
    result.process_bytes(Buffer, BufferLength);
    return result.checksum();
    }

【问题讨论】:

  • 如果Buffer 无效并且BufferLength 大于零,它将产生未定义的行为并很可能使程序崩溃。

标签: c++ exception boost exception-handling


【解决方案1】:

Boost CRC 看起来是异常中性的。

  • 没有记录例外情况
  • crc.hpp 不会引发异常

【讨论】:

  • 感谢您指出 crc.hpp。我检查了它,真的没有扔在那里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多