Java 示例 - 空堆栈异常 问题描述 如何处理空栈异常? 解决方案 此示例展示了如何使用 Stack 类的 s.empty()、s.pop() 方法和 Date 类的 System.currentTimeMillis() 方法处理空堆栈异常。 import java.util.Date; import java.util.EmptyStackException; import java.util.Stack; public class ExceptionalTest { public static void main(String[] args) { int count = 1000000; Stack s = new Stack(); System.out.println("Testing for empty stack"); long s1 = System.currentTimeMillis(); for (int i = 0; i <= count; i++) if (!s.empty())s.pop(); long s2 = System.currentTimeMillis(); System.out.println((s2 - s1) + " milliseconds"); System.out.println("Catching EmptyStackException"); s1 = System.currentTimeMillis(); for (int i = 0; i <= count; i++) { try { s.pop(); } catch (EmptyStackException e) { } } s2 = System.currentTimeMillis(); System.out.println((s2 - s1) + " milliseconds"); } } 复制 结果 上面的代码示例将产生以下结果。 Testing for empty stack 16 milliseconds Catching EmptyStackException 3234 milliseconds 复制