2012-07-26 146 views
0

我想嘗試並捕獲我的方法中的錯誤,以將更改抽屜的內容寫入html文檔。錯誤java.io.FileNotFoundException在文件不存在時出現。下面的代碼應該這樣做,但它會出現錯誤「PartB是不兼容的類型」。我認爲在我的try和catch代碼中存在一個錯誤,這是我寫的第一個錯誤,我爲什麼不起作用而不知所措。任何幫助都會很棒。謝謝。Java嘗試和捕獲錯誤

... 
    public static void writeHtmlFile() 
    { 
    try { 
      BufferedReader in = new BufferedReader((new FileReader("changedrawer.html"))); 

    String sLine; 
    StringBuilder sb = new StringBuilder(); 
    while ((sLine = in.readLine()) !=null) 
    sb.append(sLine+"\n"); 
    //Close file 
    in.close(); 
    //Output on console 
    System.out.println(sb.toString()); 
    } 
    catch (PartB FileNotFoundException) //Why is PartB an incompatible type? (PartB is the name 
    of the class) 

    { System.out.println ("error"); 
    } 
    ... 
+0

是PartB名稱的類或你的意思是變量? – Leon 2012-07-26 03:02:09

+0

乙部是班級 – 2012-07-26 03:47:15

回答

1

一個簡單的「捕獲」子句的語法大致如下:

} catch (<exception-type> <identifier>) { 
    <optional-statements> 
} 

<exception-type>

1

你需要把它寫成FileNotFoundException PartB,不PartB FileNotFoundException因爲FileNotFoundException是類型。

Exception_Type identifier

0

像你這樣的聲明任何對象或變量聲明一個例外名稱,如果你想要捕捉的異常,並且<identifier>是你聲明爲保存異常的局部變量的名稱實例你剛剛發現。

在您的事業,它應該是這樣的:

catch (FileNotFoundExceptio ex) { 
    System.out.println ("error"); 
} 

...雖然我推薦一個更有意義的錯誤消息!

(請注意,您必須聲明的本地標識符,即使你不打算使用它,但它只是一個幾個字符,特別是具有如果使用傳統的名字eex