為什么我會收到“未處理的異常類型IOException”?我有以下簡單的代碼:import java.io.*;class IO {
public static void main(String[] args) {
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
System.out.println(userInput);
}
}}我收到以下錯誤消息:----------1. ERROR in io.java (at line 10)
while ((userInput = stdIn.readLine()) != null) {
^^^^^^^^^^^^^^^^Unhandled exception type IOException----------1 problem (1 error)roman@roman-laptop:~/work/java$ mcedit io.java有人有什么想法嗎?我只是想簡化總和網站上給出的代碼(這里)。我過度簡化了嗎?
3 回答

翻翻過去那場雪
TA貢獻2065條經驗 獲得超14個贊
Java有一個稱為“已檢查異?!钡墓δ堋_@意味著存在某些類型的異常,即那些子類Exception而不是RuntimeException,如果方法可能拋出它們,它必須在它的throws聲明中列出它們,例如:void readData()throws IOException。IOException就是其中之一。
因此,當您調用在其throws聲明中列出IOException的方法時,您必須在您自己的throws聲明中列出它或捕獲它。
存在檢查異常的基本原理是,對于某些類型的異常,您不能忽略它們可能發生的事實,因為它們的發生是非常常見的情況,而不是程序錯誤。因此,編譯器可以幫助您不要忘記引發此類異常的可能性,并要求您以某種方式處理它。
但是,并非Java標準庫中所有已檢查的異常類都符合此基本原理,但這是一個完全不同的主題。
添加回答
舉報
0/150
提交
取消