看板java
标 题Re: [问题]请问…throw和throws的差别@@
发信站无名小站 (Mon Jul 12 03:33:08 2004)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!wretch
※ 引述《[email protected] (很怪的taglib...)》之铭言:
> 都看过
> 但不懂@@
> 请高手或知道的人解释一下好吗?
嗯,看例子比较快
private void readfile(String fn) throws IOException //注意这边是是throws
{
// .....省略
fin.read(); // read会丢出IOException,因为已经宣告会throws
// IOException,所此这边可以不try catch !
// .....省略
if(发现读进的格式不对)
{
// System.out.println("shit"); //一般人可能会这样debug...
throw(new IOException("file format error!");
// 这边因为举例所以new IOException,真正实作上请自行定义exception
// 注意这边是用throw罗~~
}
}
public void test()
{
try{
readfile("test.txt");
}
catch(Exception e){ System.out.println(e.toString()); }
}
这样对於throws与throw有没有比较清楚了??
throws是定义此method会cast什麽exception出来
throw 是真正cast 出一个exception
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已BBS telnet://wretch.twbbs.org 开个人板 超快 不用连署得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不殆譬道之gate4.chttl.com.tw海