2012-12-17 111 views
0

我想爲我的Java項目(MATSEC「O」水平相當於英國GCSE)的代碼,電話簿和編碼時(使用BlueJ的)這個錯誤彈出。我使用我的老師的書作爲參考,沒有任何與錯誤有關,並沒有說我應該添加任何東西。這是我的Java代碼(不是主類):錯誤:未報告的異常java.io.FileNotFoundException;必須捕獲或聲明拋出

import java.io.*; 

class Data{ 
    String read(){ 

     String[] name = null; 
     String[] surname = null; 
     String[] company = null; 
     String[] house = null; 
     String[] street = null; 
     String[] locality = null; 
     String[] telno = null; 
     String[] mobno = null; 
     int entnum; 



     BufferedReader txt = new BufferedReader(new FileReader("Directory.txt")); 

     System.out.println("Name\tSurname\tCompany\tHouse\tStreet\tLocality\tTelephone\tMobile"); 
      System.out.println("\n-----------------------------------------------------------------------------------------------"); 

     for(entnum = 0;name[entnum]!= null; entnum++){ 
      name[entnum] = txt.readLine(); 
      surname[entnum] = txt.readLine(); 
      company[entnum] = txt.readLine(); 
      house[entnum] = txt.readLine(); 
      street[entnum] = txt.readLine(); 
      locality[entnum] = txt.readLine(); 
      telno[entnum] = txt.readLine(); 
      mobno[entnum] = txt.readLine(); 

      System.out.print(name[entnum]+ "\t"); 
      System.out.print(surname[entnum]+ "\t"); 
      System.out.print(company[entnum]+ "\t"); 
      System.out.print(house[entnum]+ "\t"); 
      System.out.print(street[entnum]+ "\t"); 
      System.out.print(locality[entnum]+ "\t"); 
      System.out.print(telno[entnum]+ "\t"); 
      System.out.print(mobno[entnum]+ "\t\n"); 

      } 
     return null; 
    } 
} 

基本上,這只是從一個文本文件讀取並顯示的條目。我還沒有使用GUI。

+1

如果老師不理解檢查異常,他應立即更換**。 – SLaks

+0

這是您爲文件IO學習的第一件事情之一。如果您的教師無法執行文件IO,那麼該升級了。 – Thomas

+0

你的老師不知道如何解決這個問題?你是認真的嗎。相信我,你的編程生涯處於危險之中,直到你改變你的老師。 –

回答

2

你的文件讀出的代碼內讀()方法應該try/catch塊

(或)

定義讀取()方法read() throws FileNotFoundException { .....}內纏繞。

FileNotFoundException是檢查異常,它應該在throws子句中聲明(或)由於catch/specify的要求,可能會拋出此異常的代碼應該被try/catch包裝。

+0

感謝您的回覆。另一個問題出現了。同樣的錯誤,但是這次重要的是()s: 'name [entnum] = txt.readLine();' 這與上面的'for'循環一樣。我應該用括號...在括號中嗎?謝謝@Nambari –

+0

可能是你缺少導入語句。 – kosa

+0

對不起,剛剛完成評論作爲evrytime我按下輸入提交它。我應該在括號中使用'throws ...'嗎? –

1

請將您的Buffered Reader放在try catch塊中:)

+0

和'趕上(FileNotFoundException異常FE)':) – Parth

0

嘗試使用現代IDE,例如Eclipse。它會幫助你檢測許多編譯錯誤。

+0

什麼用BlueJ的問題? –

+0

我想的BlueJ和Idea之間的差異(或者Eclipse,但我用的主意)是,當我在IDE中插入代碼它說我,因爲沒有異常代碼的代碼不編譯:) – Dedyshka

相關問題