Javaexamples-exception-stack
提供:Dev Guides
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