2012-10-27 316 views
1

我需要我的應用程序在寫入位置/dev/full時出現錯誤。無論如何,我可以用Java異常處理來做到這一點嗎?我已經在投擲和捕捉IOerrors了,所以我不知道問題是什麼......?Java IO異常捕獲

我正在讀取標準數據,並將其壓縮並寫入標準輸出。

寫入/ dev/full不會引發異常......關於如何爲此提出異常的任何想法?

+0

你需要你的應用程序來提出一個錯誤。你拋出異常,但你也抓住它。你到底是什麼? –

+0

我發現錯誤並打印堆棧跟蹤,並以非零狀態退出。我正在讀取標準數據,並將其壓縮並寫入標準輸出。 – jsjwooowooo

+0

可以向我們展示代碼 – Jayy

回答

1

有一個所有例外的父級是Exception。如果您不確定try區塊是否拋出了哪種類型的異常,請在最後一個catch區塊中使用Exception

像這樣

try{ 
    ....//code here 
} 
catch(FileNotFoundException fnfe){ 
    log(fnfe); 
} 
catch(IOException ioe){ 
    log(ioe); 
} 
catch(Exception e){ 
    log(e); 
} 
finally{ 
    ....//code here 
} 
+0

我已更新我的問題,寫入/ dev/full時需要輸出和錯誤。它不是作爲IOexception出現,有什麼想法? – jsjwooowooo

+0

如果您可以成功打開並寫入文件,則不會收到IOException。你需要拋出自定義異常。 – Jayy

0

你可以寫一個代碼編寫錯誤的所有細節,任何具體意見要做出關於類或對象,這樣就可以追蹤裏面的錯誤更好catch塊。

try 
{ 
//Your code 
} 
catch(SomeException e) 
{ 
//Create a file, write data to it and close it. 
} 

我使用這種技術保存用戶數據,以防文件無法打開進行修改。因爲我確信數據將被存儲在2個地方中的任何一處。

此外,這並不影響我的程序的進一步執行,因爲數據加載在File的對象中。
上面可能有更好的方法。但這是我的教授告訴我的。可能會有用。

+0

我已經更新了我的問題,寫入/ dev/full時需要輸出和錯誤。它不是作爲IOexception出現,有什麼想法? – jsjwooowooo