- Java 程式設計示例
- 示例 - 主頁
- 示例 - 環境
- 示例 - 字串
- 示例 - 陣列
- 示例 - 日期和時間
- 示例 - 方法
- 示例 - 檔案
- 示例 - 目錄
- 示例 - 異常
- 示例 - 資料結構
- 示例 - 集合
- 示例 - 網路
- 示例 - 執行緒
- 示例 - 小程式
- 示例 - 簡單 GUI
- 示例 - JDBC
- 示例 - 正則表示式
- 示例 - Apache PDF Box
- 示例 - Apache POI PPT
- 示例 - Apache POI Excel
- 示例 - Apache POI Word
- 示例 - OpenCV
- 示例 - Apache Tika
- 示例 - iText
- Java 教程
- Java - 教程
- 有用的 Java 資源
- Java - 快速指南
- Java - 有用資源
如何處理 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
java_exceptions.htm
廣告