明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

Java 異常處理5

[摘要]下面的例子定義和實現(xiàn)了一個叫做ListOfNumbers的類。在類的構(gòu)造器中,ListOfNumbers創(chuàng)建了一個Vector,它包含了從0到9的十個連續(xù)的整數(shù)。ListOfNumbers類也定義了一個叫writeList的方法,這個方法把這個數(shù)字列表寫入一個叫做OutFile.txt的文本文件中...
下面的例子定義和實現(xiàn)了一個叫做ListOfNumbers的類。在類的構(gòu)造器中,ListOfNumbers創(chuàng)建了一個Vector,它包含了從0到9的十個連續(xù)的整數(shù)。ListOfNumbers類也定義了一個叫writeList的方法,這個方法把這個數(shù)字列表寫入一個叫做OutFile.txt的文本文件中。這個例子使用了在java.io中定義的輸出類,這個類在I/O:讀寫這一章中介紹。

   // 注意: 這樣的設(shè)計,這個類不會被編譯
   import java.io.*;
   import java.util.Vector;
   public class ListOfNumbers {
   private Vector victor;
   private static final int SIZE = 10;
   public ListOfNumbers () {
   victor = new Vector(SIZE);
   for (int i = 0; i < SIZE; i++) {
   victor.addElement(new Integer(i));
   }
   }
   public void writeList() {
   PrintWriter out = new PrintWriter(
   new FileWriter("OutFile.txt"));
   for (int i = 0; i < SIZE; i++) {
   out.println("Value at: " + i + " = " +
   victor.elementAt(i));
   }
   out.close();
   }
   }

   這個例子中的第一行黑體字部分代碼調(diào)用了一個構(gòu)造器,這個構(gòu)造器初始化一個文件輸出流。如果這個文件不能被打開,這個構(gòu)造器會拋出一個IOException異常。第二行黑體字部分代碼調(diào)用一個Vector類的elementAt方法,如果它的參數(shù)值太。ㄐ∮诹悖┗蛱螅ù笥赩ector中當(dāng)前所包含的元素數(shù)),那么它會拋出一個ArrayIndexOutOfBoundsException異常。

   如果試圖編譯ListOfNumbers類,編譯會打印一個有關(guān)被FileWrite構(gòu)造器所拋出的異常的錯誤消息。這是因為構(gòu)造所拋出的IOException異常是一個編譯檢查性異常,被elementAt方法拋出的ArrayIndexOutOfBoundsException異常是一個運行時異常,而Java編程語言只要求程序處理編譯檢查性異常,所以你只能獲取一個錯誤消息。

   現(xiàn)在隨著對ListOfNumbers類的熟悉,并且知道異常是在程序中的什么地方拋出的,那么你就可以準(zhǔn)備把異常處理器編寫到catch塊來處理那些異常。

   怎樣拋出異常
   在你能夠捕捉一個異常之前,在程序中的某個地方必須有拋出這個異常的代碼在在。任何代碼都可以拋出異常:它們可以你自己的代碼,也可以是來自于別人所寫的包中的代碼(例如與Java平臺一起提供的程序包),或者是Java運行時環(huán)境。不管拋出什么樣的異常,都要使用throw語句把異常拋出。

   你可能已經(jīng)注意到,Java平臺提供了各種的異常類。所有的這些類都是Throwable類的子類,并且它們都允許程序來區(qū)分在程序執(zhí)行期間所發(fā)生的各種類型的異常。

   你也可以創(chuàng)建自己的異常類來描述你編寫的類中所發(fā)生的問題。實際上,如果你是一個程序包的開發(fā)人員,你可能必須創(chuàng)建你自己的異常類的集合,以便于讓你的用戶來區(qū)分在你的程序包中發(fā)生的錯誤是來自己于Java平臺還是其它的包。

   你也可以創(chuàng)建異常鏈,異常鏈在Java Standard Edition 1.4中被引入。更多的信息,請看“異常鏈”這一節(jié)。

  



標(biāo)簽:Java 異常處理5 

相關(guān)文章