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