夏日心情

          我在海邊游蕩,但卻未踏足海中

          如何正確的使用Java中的異常

          最近在使用Java實(shí)現(xiàn)一個(gè)DBMS。一個(gè)小組三個(gè)人,有一個(gè)家伙很能寫代碼。但是他寫的代碼真的讓人非常困惑。我拿到代碼一看,幾乎每一個(gè)函數(shù)都要throws Exception。這真的讓人不知所措。他的理由是為了調(diào)試方便,我覺得簡(jiǎn)直難以理解,還說以后會(huì)改成具體的Exception,這也很可笑,現(xiàn)在他寫了七八千行了,早就懶得回去把每個(gè)Exception改成具體類型了。拋出的是Exception,是所有異常的基類型,這讓人怎么處理呢?

          現(xiàn)在項(xiàng)目收尾了,他停止寫代碼了,我打算把他留下的爛攤子整理一下,發(fā)現(xiàn)這個(gè)問題還真的是很難辦。我發(fā)現(xiàn),我也不知道應(yīng)該怎么使用Exception。我僅僅知道,他的寫法不對(duì)。

          看了《高質(zhì)量Java程序設(shè)計(jì)》第一章就是講異常。雖然有了些初步的概念,但是還是很模糊,很迷惑,到底該怎么處置?

          書中給出了幾條建議:
          1、慎用Exception,用代碼的反匯編結(jié)果說明了,如果加入了異常處理,生成的代碼運(yùn)行時(shí)間幾乎翻倍。
          2、根據(jù)時(shí)間頻度決定是否使用異常。
          3、用不需查異常強(qiáng)化方法約定。
          4、用Error表示系統(tǒng)級(jí)異常。

          但是在具體應(yīng)用時(shí)候,我還有不明白的。一級(jí)一級(jí)throws Exception的原因何在?如何判斷應(yīng)該在哪一層將異常給捕獲了?

          一級(jí)一級(jí)地向外throws,但是不捕獲,會(huì)不會(huì)損壞效率?

          我們的程序里面用到IO操作,會(huì)扔出來IOException。怎么決定在哪一層處理它呢?

          posted on 2006-07-07 23:39 唐朝 閱讀(143) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 涟源市| 修水县| 武穴市| 海晏县| 西充县| 左云县| 东乌| 深圳市| 林周县| 视频| 普陀区| 花垣县| 隆安县| 邛崃市| 古丈县| 新干县| 温州市| 来安县| 大余县| 无锡市| 仪征市| 尼勒克县| 桃园市| 陇南市| 镇平县| 镇江市| 纳雍县| 南安市| 汉沽区| 南部县| 牙克石市| 合江县| 历史| 武冈市| 乡城县| 湟中县| 陇南市| 阿克陶县| 滁州市| 巴彦县| 临安市|