在Java中,Stack
类继承自Vector
类,因此它的异常处理与Vector
类类似。Vector
类中的大部分方法都提供了异常处理机制,例如add()
, remove()
, insert()
, set()
, elements()
等。这些方法都可能抛出IndexOutOfBoundsException
异常,当索引超出范围时抛出。
要处理Stack
类中的异常,你可以使用try-catch
语句来捕获和处理异常。以下是一个简单的示例:
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack<String> stack = new Stack<>();
try {
// 添加元素到栈顶
stack.push("A");
stack.push("B");
stack.push("C");
// 访问栈顶元素
String topElement = stack.peek();
System.out.println("栈顶元素: " + topElement);
// 删除栈顶元素
stack.pop();
// 再次访问栈顶元素
topElement = stack.peek();
System.out.println("栈顶元素: " + topElement);
} catch (IndexOutOfBoundsException e) {
System.err.println("发生异常: " + e.getMessage());
}
}
}
在这个示例中,我们使用try
块来执行可能抛出异常的代码。如果发生异常,catch
块将捕获异常并处理它。在这个例子中,我们只是打印出异常信息,但你可以根据需要执行其他操作,例如记录日志、清理资源等。