| package org.yzh.commons.model; | 
|   | 
| /** | 
|  * @author yezhihao | 
|  * https://gitee.com/yezhihao/jt808-server | 
|  */ | 
| public class APIException extends RuntimeException { | 
|   | 
|     private final int code; | 
|     private String message; | 
|     private String detailMessage; | 
|   | 
|     public APIException(int code, String message) { | 
|         this.code = code; | 
|         this.message = message; | 
|     } | 
|   | 
|     public APIException(APICode code) { | 
|         this.code = code.getCode(); | 
|         this.message = code.getMessage(); | 
|     } | 
|   | 
|     public APIException(APICode code, String msg) { | 
|         this.code = code.getCode(); | 
|         this.message = msg; | 
|     } | 
|   | 
|     public APIException(APICode code, String message, String detailMessage) { | 
|         this.code = code.getCode(); | 
|         this.message = message; | 
|         this.detailMessage = detailMessage; | 
|     } | 
|   | 
|     public APIException(Throwable e) { | 
|         super(e); | 
|         this.code = APICodes.UnknownError.getCode(); | 
|     } | 
|   | 
|     public int getCode() { | 
|         return code; | 
|     } | 
|   | 
|     @Override | 
|     public String getMessage() { | 
|         return message; | 
|     } | 
|   | 
|     public String getDetailMessage() { | 
|         return detailMessage; | 
|     } | 
|   | 
|     @Override | 
|     public String toString() { | 
|         StringBuilder sb = new StringBuilder(); | 
|         sb.append('{'); | 
|         sb.append("code:").append(code); | 
|         sb.append(",message:").append(super.getMessage()); | 
|         sb.append('}'); | 
|         return sb.toString(); | 
|     } | 
| } |