作者abola921 (坟都买不起了还想买房)
看板java
标题Re: [问题] 程式的例外
时间Tue Apr 16 12:04:59 2013
: 我要是一开始就知道这个例外的存在,我就会设条件让使用者不能输入数字以外的资料了
: 如果我连这个例外都没有预估到,我又怎麽会知道要去拦截这个例外呢?
: 希望有人知道我在说甚麽
我把你的设的这例子先转为简单的程式码
if (! 是数值 ) {}
else if (! 小於 Integer.MAX_VALUE) {}
else if (! 大於 Integer.MIN_VALUE) {}
else if ......
else{
/* 确定为有效数值,开始处理 */
}
这个模式,如果在没有办法使用try catch 时最常见的做法
说穿了,也不过就只是把try catch 反过来写;那来看看try 的写法
try{
/* 开始处理 */
}
catch( 预期错误 ){}
catch( 非预期错误 Exception ){}
第一个好处是,以软体工程的角度来看,我可以先看到程式码的内容
而不用先历经一大串尚无法理解的内容後,才看到真实要进行的动作
第二个好处,他可以处理非预期错误,当然楼主的问题是非预期的是
不会发生的;但在交易系统中,非预期错误的处理确是基本问题。
try{
begin;
{交易启始}; {交易进行}; {交易完成};
commit;
}
catch( 预期及非预期错误 ){
{交易失败};
rollback;
}
finally{
{交易讯息};
}
我想说的是,非预期性的问题是绝对存在的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.20.106