看板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海