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

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

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

    Shit Happens

    Posted on 2006-09-30 11:30 my 閱讀(221) 評論(0)  編輯  收藏 所屬分類: 個(gè)人收藏
    java夜未眠--
    不要用鄙夷的眼光看待這個(gè)標(biāo)題。其實(shí)「Shit Happens」是個(gè)名言,而且還是個(gè)具有禪意的名言。 電影阿甘正傳(Forrest Gump)中,阿甘在跑步時(shí)踩到 shit,旁邊一位失意的商人問他對此事的看法,阿甘表情輕松地說:「Shit Happens.」 ,這句話的意思是「人生偶而會有不順?biāo)斓氖掳l(fā)生,沒什么值得大驚小怪的」。這個(gè)商人于是將「SHIT HAPPENS」做成標(biāo)語,結(jié)果大賣。 電影下一幕鏡頭出現(xiàn)一臺后面貼有「SHIT HAPPENS」標(biāo)語的汽車,飛來橫禍地被后面的另一臺車子撞了……果真是「Shit Happens」。

    「…… 這和本文章有什么關(guān)系???」別急,繼續(xù)看下去吧!

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

    在用 Java 設(shè)計(jì)中大型系統(tǒng)的時(shí)候,常常有必要定義自己的例外類別,并在適當(dāng)時(shí)機(jī)主動地丟出例外。如此一來可以使得程序更穩(wěn)固。

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

    如果此例外屬于 runtime 性質(zhì),且可以補(bǔ)救,則此例外繼承自 java.lang.RuntimeException。
    如果此例外不屬于 runtime 性質(zhì),且可以補(bǔ)救,則此例外繼承自 java.lang.Exception。
    如果此例外不可以補(bǔ)救,則此例外繼承自 java.lang.Error。
    上述這三點(diǎn)完全是依照 Java 語言對于例外處理的建議,相當(dāng)直覺,我也就不多解釋了。除此之外,我還定義了一個(gè)我常用的例外類別,叫做 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;

      }

    }

     


    在程序中,對于一些我認(rèn)為絕對不可能會發(fā)生的情況,我會丟出 Shit,代表程序出現(xiàn)了絕對不應(yīng)該發(fā)生的狀況。如果出現(xiàn)這個(gè)例外,表示程序內(nèi)部有奇怪的錯(cuò)誤。在測試程序時(shí),如果 Shit Happens,我會去追查其源頭,將錯(cuò)誤找出來訂正。

    之所以讓 Shit 繼承自 RuntimeException,就是因?yàn)樗鼞?yīng)該不可能發(fā)生,將它定成 RuntimeException 可以使得程序不用去 catch 它。

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

    posts - 63, comments - 45, trackbacks - 0, articles - 99

    Copyright © my

    主站蜘蛛池模板: 美女视频黄免费亚洲| 亚洲精品无码av片| 一本久久A久久免费精品不卡 | 亚洲阿v天堂在线2017免费| 午夜一级免费视频| 亚洲精品无码mⅴ在线观看| 成人免费毛片视频| 亚洲AV无码AV男人的天堂不卡| 免费无码看av的网站| 亚洲av无码成人精品区一本二本| 午夜时刻免费入口| 毛片亚洲AV无码精品国产午夜| 免费欧洲毛片A级视频无风险| 无忧传媒视频免费观看入口| 亚洲真人日本在线| A片在线免费观看| 日韩亚洲AV无码一区二区不卡| 91免费国产在线观看| 亚洲第一综合天堂另类专| 免费永久在线观看黄网站| 国产裸体美女永久免费无遮挡| 亚洲精品无码乱码成人| 96免费精品视频在线观看| 亚洲国产成人精品激情| 国产精品免费看久久久久| 五月天国产成人AV免费观看| 亚洲AV日韩AV永久无码免下载 | 毛片a级三毛片免费播放| 亚洲大尺度无码无码专线一区| mm1313亚洲精品无码又大又粗| jizz在线免费观看| 久久久久亚洲AV片无码下载蜜桃 | 日韩免费视频在线观看| 72pao国产成视频永久免费| 亚洲人成亚洲精品| 女人18一级毛片免费观看| 国产乱妇高清无乱码免费| 亚洲人妖女同在线播放| 亚洲国产精品无码久久久久久曰| 久久青草91免费观看| 亚洲性无码AV中文字幕|