作者LaPass (LaPass)
看板java
标题Re: [问题] 程式的例外
时间Wed Apr 17 05:18:07 2013
原本写了一堆工作上的牢骚
结果还是删掉,只留重点
我只能说,遇到烂的架构,真的会很想砍人
通常是在多人分工时
才会感受到错误例外的重要性
或是说....
当自己的程式已经写到很庞大的时候,才会觉得这功能很重要
例外这种设计是为了把
「检查错误」跟「出现错误时该如何处理」
这两个动作分开
举例来说,你写个method
他的参数是个String,而且不可以为null
你可以这样写
void MethodA(String s)
{
if(s==null)
{
//错误的动作
return;
}
//你要执行的动作
}
但这里有个问题.....
「万一」有些状况下
用这个MethodA的人想自己处理错误怎麽办?
例如用console时,要用Sysout去印
用web时要印出 "alert('错误讯息');"
用swing又是另外一种呈现方式
为了保留错误处理的弹性,所以可以改成这样
void MethodA(String s)
{
if(s==null) throw new RuntimeExceptions("错误讯息");
//你要执行的动作
}
虽然,你可能会说
那叫使用MethodA的人,自己在外部检查就好了啊
但是,请把使用这个libary的人当成白痴,替他把意外状况检查好
人都会犯错,有很多应该检查的事都会忘掉,然後就找bug找了老半天
举例来说,在写c的时候,当index超过阵列大小
是不会有错误的,而是给你一个错误的值
很多写过c的人,都有这种惨痛的经验
但是java的阵列就替你检查了
当index超过阵列大小时,会出现一个RuntimeExceptions
而不是连错误讯息都不显示
java刚出来的时候,多人看到这项功能,都感动到快哭了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.38.65.167