用c++将assert(sz >= 0);修改为异常处理的方式
时间: 2023-07-15 10:15:39 浏览: 79
可以使用C++中的异常处理机制来替换assert(sz >= 0)。
示例代码如下:
```cpp
if (sz < 0) {
throw std::runtime_error("Size cannot be negative!");
}
```
这里使用了`std::runtime_error`异常类来抛出一个运行时错误。在调用这段代码的地方,可以使用`try-catch`语句来处理这个异常。例如:
```cpp
try {
// some code that may throw an exception
} catch (const std::runtime_error& e) {
std::cerr << "Error: " << e.what() << '\n';
}
```
这里使用`catch`语句来捕获`std::runtime_error`异常,并输出异常信息。通过使用异常处理机制,我们可以更加灵活地处理错误,而不是像`assert`一样直接终止程序运行。
阅读全文