<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    rosial

    lost memory
    數據加載中……

    《爪哇夜未眠》- 系統篇 - Shit? Happens ,1

    不要用鄙夷的眼光看待這個標題。其實「Shit Happens」是個名言,而且還是個具有禪意的名言。 電影阿甘正傳(Forrest Gump)中,阿甘在跑步時踩到 shit,旁邊一位失意的商人問他對此事的看法,阿甘表情輕松地說:「Shit Happens.」 ,這句話的意思是「人生偶而會有不順遂的事發生,沒什么值得大驚小怪的」。這個商人于是將「SHIT HAPPENS」做成標語,結果大賣。 電影下一幕鏡頭出現一臺后面貼有「SHIT HAPPENS」標語的汽車,飛來橫禍地被后面的另一臺車子撞了……果真是「Shit Happens」。

    …… 這和本文章有什么關系???」別急,繼續看下去吧!

    Java 程序員對于例外處理機制(exception handling mechanism)應該都不陌生,因為 Java 語言強制程序員必須使用例外處理來捕捉(catch)非執行時期(non-runtime)的例外。所以你一定用過 try,catch,finally 這三個 Java 語言的關鍵詞,而且你也很有可能用過 throw 這個關鍵詞來將未處理的例外再轉出去給 call stack 的下一層 method。但是,你很有可能未曾主動 new 一個例外對象,然后將其丟出。你更有可能未曾定義過自己的例外類別。

    在用 Java 設計中大型系統的時候,常常有必要定義自己的例外類別,并在適當時機主動地丟出例外。如此一來可以使得程序更穩固。

    對于定義自己的例外類別,我的習慣是:

    1. 如果此例外屬于 runtime 性質,且可以補救,則此例外繼承自 java.lang.RuntimeException
    2. 如果此例外不屬于 runtime 性質,且可以補救,則此例外繼承自 java.lang.Exception
    3. 如果此例外不可以補救,則此例外繼承自 java.lang.Error

    上述這三點完全是依照 Java 語言對于例外處理的建議,相當直覺,我也就不多解釋了。除此之外,我還定義了一個我常用的例外類別,叫做 Shit,其定義如下:

    package com.skittles;


    public class Shit extends RuntimeException {

    ??? private String whatHappened;

    ??? private Shit() {}

    ??? public Shit(String whatHappened) {

    ??????? this.whatHappened = whatHappened;

    ?? }

    ?? public String toString() {???

    ?????? return whatHappened;

    ?? }

    }

     


    在程序中,對于一些我認為絕對不可能會發生的情況,我會丟出 Shit,代表程序出現了絕對不應該發生的狀況。如果出現這個例外,表示程序內部有奇怪的錯誤。在測試程序時,如果 Shit Happens,我會去追查其源頭,將錯誤找出來訂正。

    之所以讓 Shit 繼承自 RuntimeException,就是因為它應該不可能發生,將它定成 RuntimeException 可以使得程序不用去 catch 它。

    在程序的撰寫與測試階段,Shit Happens 是免不了的。但是,在程序交給客戶或上線之后,就得確定程序正確無誤。No more shit happens.

    ?

    posted on 2006-07-10 14:48 rosial 閱讀(272) 評論(0)  編輯  收藏 所屬分類: 蔡學鏞

    主站蜘蛛池模板: 五月婷婷亚洲综合| 最近中文字幕无免费| 自拍偷区亚洲国内自拍| 美女隐私免费视频看| 最近中文字幕大全免费视频| 啦啦啦高清视频在线观看免费 | 亚洲av无码成人精品区| 18级成人毛片免费观看| 中国一级毛片免费看视频| 国产亚洲精品成人久久网站| 亚洲一卡2卡3卡4卡乱码 在线| 亚洲邪恶天堂影院在线观看| 77777亚洲午夜久久多人| 四只虎免费永久观看| 亚洲一区二区三区免费观看| 亚洲人成网77777色在线播放| 亚洲欧美成人一区二区三区| 精品在线免费观看| 亚洲午夜无码AV毛片久久| 春意影院午夜爽爽爽免费| 日本成人在线免费观看 | 国产免费的野战视频| 亚洲色精品88色婷婷七月丁香| 久久久久久亚洲精品无码 | 嫖丰满老熟妇AAAA片免费看| 国产精品区免费视频| 老外毛片免费视频播放| 久久久久久a亚洲欧洲AV| 亚洲精品高清无码视频| 亚洲人成人77777网站| 亚洲春色在线视频| 亚洲人成色7777在线观看| 亚洲精品国偷自产在线| 亚洲日韩一页精品发布| 亚洲成a人片在线观看无码| 亚洲AV无码一区东京热| 久久精品国产亚洲AV麻豆网站| 久久精品国产亚洲AV无码麻豆 | 一级毛片正片免费视频手机看 | 国产精品二区三区免费播放心| 国产一区二区三区在线免费|