【发布时间】: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