一切皆可抽象

          大而無形 庖丁解牛 厚積薄發 滌慮玄覽
             ::  ::  ::  ::  :: 管理

          【原創】用java封裝產品異常的代碼

          Posted on 2005-09-06 10:37 鋒出磨礪 閱讀(693) 評論(0)  編輯  收藏 所屬分類: java算法

          抽象類 繼承于 Exception
          public abstract class AbstractException extends Exception{
              private ErrorInfo info;
              public AbstractException(ErrorInfo message) {
                super(message.getErrorCode()+message.getErrorName()+message.getErrorInfo());
                info = message;
              }
              public String getCode()
              {
                return info.getErrorCode();
              }

          }

          錯誤實體
          public class ErrorInfo {

            private String ErrorCode;
            private String ErrorName;
            private String ErrorInfo;

            public ErrorInfo(String temp1,String temp2,String temp3) {
              this.ErrorCode = temp1;
              this.ErrorName = temp2;
              this.ErrorInfo = temp3;
            }

            public String getErrorCode()
            {
               return this.ErrorCode;
            }
            public String getErrorName()
            {
               return this.ErrorName;
            }
            public String getErrorInfo()
            {
              return this.ErrorInfo;
            }


          }

          錯誤集合
          public class ErrorPool {

            private java.util.HashMap errorMap = new java.util.HashMap();
            public ErrorPool() {
              errorMap.put("Center1001",new ErrorInfo("Center1001","嚴重錯誤,適配器無效","因為適配器所在前置機網絡異常,造成適配器無效"));

            }
            public ErrorInfo getErrorInfo(Object errorCode)
            {
              return (ErrorInfo)errorMap.get(errorCode);
            }

          }
          異常實現
          public  class TestException extends AbstractException {
              private ErrorInfo info;
              public  TestException(ErrorInfo message)
              {
                super(message);
                info = message;
              };
              public String getCode()
              {
                return super.getCode();
              }
              public void LogDebug()
              {
                System.out.println("debug info.....");
              }


          }

          具體使用代碼
          public class Test {
            public Test() {
            }

            public void kk(String usename) throws TestException
            {
              if (usename.equals("fuck"))
              {
              }
              else
              {
                throw(new TestException((new ErrorPool()).getErrorInfo("Center1001")));
              }
            }

            public static void main(String[] agrgs)
            {
              try
              {
               Test tt = new Test();
               tt.kk("xxx");
              }
              catch(TestException e)
              {
                 System.out.println(e.getCode());
                 e.printStackTrace();
                 e.LogDebug();
              }
            }


          }


          主站蜘蛛池模板: 泸定县| 武威市| 淮南市| 桦川县| 繁峙县| 兴安盟| 桂东县| 白水县| 射阳县| 夏邑县| 拉孜县| 磐石市| 阜新市| 永新县| 新余市| 宁都县| 繁峙县| 东宁县| 乌海市| 尚义县| 昆明市| 醴陵市| 繁峙县| 巩留县| 湘阴县| 科技| 泾阳县| 文登市| 明光市| 渭源县| 望奎县| 翁源县| 策勒县| 原阳县| 西昌市| 阿克陶县| 海安县| 四川省| 岗巴县| 财经| 新竹县|