【发布时间】:2021-05-23 19:01:54
【问题描述】:
我一直在尝试输出在我的其他代码中声明的“队列已满”。我如何捕捉到这个?
这是我的主线
int main() {
IntQueue iQueue(5);
try {
cout << "Enqueuing 5 items...\n";
// Enqueue 5 items.
for (int x = 0; x < 5; x++)
iQueue.enqueue(x);
} catch (...) {
// Attempt to enqueue a 6th item.
cout << "Now attempting to enqueue again...\n";
iQueue.enqueue(5);
}
这是我的另一个代码
if (isFull())
throw std::runtime_error("Queue is full");
else {
cout << "Enqueueing: " << num << endl;
// Calculate the new rear position
rear = (rear + 1) % queueSize;
// Insert new item
queueArray[rear] = num;
// Update item count
numItems++;
}
【问题讨论】:
-
iQueue.enqueue(5);在 catch 块中抛出另一个异常?
标签: c++ exception methods queue try-catch