亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        java輔導(dǎo):關(guān)于異常處理的規(guī)范值

        字號(hào):

        下面是我們web架構(gòu)下的異常處理規(guī)范,大家討論討論:
            1.定義SystemException,RuntimeSystemException,MessageException,NoErrorException
            所有業(yè)務(wù)邏輯代碼都只允許new以上幾種異常和NullPointException,如果一定要new其它異常,請(qǐng)?jiān)谧⑨屩性敿?xì)說(shuō)明理由,注釋在15漢字以上。
            MessageException向用戶(hù)提供一個(gè)友好信息,創(chuàng)建MessageException時(shí)傳入兩個(gè)信息,一是面對(duì)用戶(hù)的友好信息,二是后臺(tái)信息,后臺(tái)信息必須包含詳細(xì)的錯(cuò)誤信息已幫助以后定位錯(cuò)誤。
            NoErrorException為喜歡這樣寫(xiě)代碼的人提供方便throw new NoErrorException("用戶(hù)名密碼錯(cuò)誤");
            2.關(guān)于資源的關(guān)閉,這個(gè)我就不碼字了,地球人都知道的規(guī)范。其中數(shù)據(jù)庫(kù)資源和事務(wù)提交匯滾由架構(gòu)同一處理,業(yè)務(wù)代碼只負(fù)責(zé)聲名事務(wù)。任何情況下不允許業(yè)務(wù)模塊自己維護(hù)數(shù)據(jù)庫(kù)資源。如果確實(shí)需要自己提交事務(wù)或回滾事務(wù),請(qǐng)?jiān)谧⑨屩姓f(shuō)明理由,理由在15漢字以上。
            3.一般情況下不允許吃掉異常。或者將異常直接throws出去,或者catch后作相應(yīng)的處理再throw出異常,throw出新異常時(shí)任何情況下不允許中斷異常鏈,異常最后由系統(tǒng)架構(gòu)表示層的最外層統(tǒng)一處理。如果確實(shí)有必要吃掉異常,請(qǐng)?jiān)谧⑨屩袑?xiě)明理由,理由在15漢字以上。嵌套在finally塊和catch塊中的異常處理吃掉異??梢圆粚?xiě)注釋?zhuān)魏吻闆r下不允許在finally塊中拋出異常。
            4.一般以下兩種情況可以吃掉異常:
            (1)不可能產(chǎn)生的異常,如:try{ "aa".getBytes("GBK");}catch(UnsupportedEncodingException ex){ //由于部署的環(huán)境GBK編碼肯定存在,不可能產(chǎn)生異常MyExceptionHandle.getInstance()。logException(ex);}
            這種情況要求把異常記錄,萬(wàn)一真的環(huán)境不支持GBK編碼,也可以馬上知道怎么回事
            (2)不影響整體邏輯完成的局部邏輯,如:try{ sendMessage();}catch(Exception ex){ //消息發(fā)送失敗不影響過(guò)程的完成,不應(yīng)該因此而中斷過(guò)程MyExceptionHandle.getInstance()。logException(ex);}