作者s66449 (老实样)
看板java
标题[问题] 想问一些例外的观念..
时间Wed Nov 9 22:55:09 2011
小弟不才...经验不多 对例外的观念还不是很懂
想要发问讨教一下
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
1F:推 LaPass:1.你觉得有必要的时候,通常是写个api给别人用时,避免别人 11/10 00:00
2F:推 LaPass:不照自己的意思用,导致程式出错。 11/10 00:04
3F:推 LaPass:2.是 3.因为没必要 11/10 00:08
4F:→ s66449:第1点不是很懂...这跟自行写throw抛出例外有什麽关系呢?? 11/10 11:26
5F:推 aleelyle:1.不是系统自动抛出的 是你上一层用throw丢的 看原始码 11/10 13:27
6F:推 LaPass:原po好像是在问 throw new Exception(); 的使用时机吧? 11/10 13:39
7F:→ LaPass:还是在问 void Method() throws Exception ? 11/10 13:42
8F:→ s66449:问throw new Exception()~ 11/10 14:43
9F:→ mrker:第三个问题 System.in本来就是standard的InputStream 11/10 22:45
10F:→ mrker:而且Scanner的next内已经自己catch IO例外了 理由我不知道 11/10 22:47