我有以下代码从缓冲区数组中提取字符串.它工作正常.但是,length变量是在运行时确定的,因此如果它超出范围,则会发生异常.当然,可以容易地调整代码以检查长度变量(相对于偏移变量)是否落在边界内.虽然我很好奇为什么以下代码不起作用,因为异常似乎通过try-catch语句(并被调试器捕获).
try
{
string value(&buffer[offset], length);
// ...
}
catch (exception& e)
{
// ...
}
catch (...)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
在Windows 7 64bit上运行,MSVCR编译.
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |