作者Shrugg (泪眼问花花不语)
看板java
标题[问题] 程式的例外
时间Mon Apr 15 19:19:04 2013
想请问一个一直都没办法在逻辑上说服自己的观念性问题
参考资料都说,程式的例外是用来撷取runtime时的例外情形,用来拦截例外的发生的.
可是要是已经知道会有那些例外可能发生,
设计程式时我们不是就会把限制条件给加上去了,
根本不用等到例外发生了再来拦截吧?
Runtime会发生的例外都是设计程式时根本没想到的,既然没想到,
为什麽会知道要怎麽去预防呢?
像旗标的Java2第十四章以一个使用者输入错误当例子,程式例只能输入数字
但当使用者输入字串时就会是一个例外,所以程式安排这边设计一个拦截字串例外
发生时的处理.
但是假设我是这个程式的开发者
我要是一开始就知道这个例外的存在,我就会设条件让使用者不能输入数字以外的资料了
如果我连这个例外都没有预估到,我又怎麽会知道要去拦截这个例外呢?
希望有人知道我在说甚麽
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 137.132.255.14
1F:推 mars90226:今天如果socket连线出问题,你就不能用if判断了 04/15 20:26
2F:→ cha122977:等到接触IO类的exception你就会有感觉啦~ 04/15 22:45
3F:→ DeathWatch:你无法完全预测哪里会有问题 04/15 23:18
4F:→ cha122977:另外要是例外情况超多的时候 用if可能会疯掉~ 04/15 23:44
5F:推 johnny94:版主好像有写一篇关於例外的文章应该可以解答你的问题 04/16 00:50
6F:推 PsMonkey:囧> 我有写过吗? 有谁可以帮我考古一下... 自己都忘了 04/16 01:42
7F:→ Shrugg:socket断线如果是我可以预估到而特别加上例外去处理,那我也 04/16 22:17
8F:→ Shrugg:可以在一开始就加上timeout来处理不是更方便? 断线又不见得 04/16 22:19
9F:→ Shrugg:是我这边的问题,所以用timeout提示比用例外会更容易了解. 04/16 22:21
10F:→ tkcn:timeout 的部份 OS 已经帮你做好了 04/16 22:45
11F:推 LaPass:socket的timeout已经写好了啊.... 你打算写什麽? 04/17 05:21