[問題] 想問一些例外的觀念..

看板java作者 (老實樣)時間14年前 (2011/11/09 22:55), 編輯推噓5(505)
留言10則, 4人參與, 最新討論串1/3 (看更多)
小弟不才...經驗不多 對例外的觀念還不是很懂 想要發問討教一下 1.throw這個關鍵字是在敘述中 自行拋出例行 什麼情況下 需要自行拋出例外呢?? 而且就算不自行拋出 系統也是會自動拋出例外啊 為什麼還會有這個關鍵字想要讓我們自行拋出呢?? 2.還有一個由method拋出的關鍵字是throws 主要用法是不想要在method內 直接處理例外 而是透過method拋出 去由呼叫該method的method 內的try catch解決 是這樣嗎?? 3.Scanner的next()和BufferedReader的nextLine() 兩者都是讓使用者輸入文字的 為什麼前者不需要強迫處理例外 而後者需要強迫處理IO例外呢?? 我有去看API的文件 的確後者的方法有拋出例外 所以才要強迫處理例外 這就是我問題的答案嗎??還是有別的呢?? 麻煩幫忙指點一下..謝謝> < -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.184.5

11/10 00:00, , 1F
1.你覺得有必要的時候,通常是寫個api給別人用時,避免別人
11/10 00:00, 1F

11/10 00:04, , 2F
不照自己的意思用,導致程式出錯。
11/10 00:04, 2F

11/10 00:08, , 3F
2.是 3.因為沒必要
11/10 00:08, 3F

11/10 11:26, , 4F
第1點不是很懂...這跟自行寫throw拋出例外有什麼關係呢??
11/10 11:26, 4F

11/10 13:27, , 5F
1.不是系統自動拋出的 是你上一層用throw丟的 看原始碼
11/10 13:27, 5F

11/10 13:39, , 6F
原po好像是在問 throw new Exception(); 的使用時機吧?
11/10 13:39, 6F

11/10 13:42, , 7F
還是在問 void Method() throws Exception ?
11/10 13:42, 7F

11/10 14:43, , 8F
問throw new Exception()~
11/10 14:43, 8F

11/10 22:45, , 9F
第三個問題 System.in本來就是standard的InputStream
11/10 22:45, 9F

11/10 22:47, , 10F
而且Scanner的next內已經自己catch IO例外了 理由我不知道
11/10 22:47, 10F
文章代碼(AID): #1EkfHGjL (java)
文章代碼(AID): #1EkfHGjL (java)