看板 java 關於我們 聯絡資訊
小弟不才...經驗不多 對例外的觀念還不是很懂 想要發問討教一下 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
LaPass:1.你覺得有必要的時候,通常是寫個api給別人用時,避免別人 11/10 00:00
LaPass:不照自己的意思用,導致程式出錯。 11/10 00:04
LaPass:2.是 3.因為沒必要 11/10 00:08
s66449:第1點不是很懂...這跟自行寫throw拋出例外有什麼關係呢?? 11/10 11:26
aleelyle:1.不是系統自動拋出的 是你上一層用throw丟的 看原始碼 11/10 13:27
LaPass:原po好像是在問 throw new Exception(); 的使用時機吧? 11/10 13:39
LaPass:還是在問 void Method() throws Exception ? 11/10 13:42
s66449:問throw new Exception()~ 11/10 14:43
mrker:第三個問題 System.in本來就是standard的InputStream 11/10 22:45
mrker:而且Scanner的next內已經自己catch IO例外了 理由我不知道 11/10 22:47