001package net.gdface.mtfsdk;
002
003/**
004 * SDK运行时异常<br>
005 * 调用检测识别函数产生的异常
006 * @author guyadong
007 *
008 */
009public class SdkRuntimeException extends RuntimeException {
010
011        private static final long serialVersionUID = 1L;
012        
013        /**
014         * 异常状态
015         */
016        public final SdkStatus status;
017
018        public SdkRuntimeException(String msg) {
019                this(msg,(Throwable)null,SdkStatus.UNKNOW_ERROR);
020        }
021
022        public SdkRuntimeException(Throwable throwable) {
023                this(null,throwable,SdkStatus.UNKNOW_ERROR);
024        }
025
026        public SdkRuntimeException(String msg, Throwable throwable,SdkStatus status) {
027                super(msg, throwable);
028                this.status =  status == null ? SdkStatus.UNKNOW_ERROR : status;
029        }
030
031        public SdkRuntimeException(SdkStatus status) {
032                super();
033                this.status = status;
034        }
035        public SdkRuntimeException(Throwable throwable,SdkStatus status) {
036                this(null,throwable,status);
037        }
038
039        @Override
040        public String getMessage() {            
041                String msg = super.getMessage();
042                if(msg == null && status !=null){
043                        return status.msg;
044                }
045                return msg;
046        }
047}