package com.cattong.commons; public class LibRuntimeException extends RuntimeException { private static final long serialVersionUID = -3104663229009876698L; //各平台原生的错误码 protected int errorCode = LibResultCode.E_UNKNOWN_ERROR; protected String errorDescr; protected String requestPath; protected ServiceProvider serviceProvider; //对应于LibException的错误码 protected int exceptionCode = LibResultCode.E_UNKNOWN_ERROR; public LibRuntimeException(int errorCode) { super(errorCode + ""); this.errorCode = errorCode; //this.requestPath = ""; this.errorDescr = ""; //this.serviceProvider = serviceProvider.None; } public LibRuntimeException(int errorCode, String errorDescr) { super(errorCode + ": " + errorDescr); this.errorCode = errorCode; //this.requestPath = ""; this.errorDescr = errorDescr; //this.serviceProvider = serviceProvider.None; } public LibRuntimeException(int errorCode, ServiceProvider sp) { super(errorCode + ": " + sp); this.errorCode = errorCode; this.requestPath = ""; this.errorDescr = ""; this.serviceProvider = sp; } public LibRuntimeException(int errorCode, String requestPath, String errorDescr, ServiceProvider sp) { super(errorDescr); this.errorCode = errorCode; this.requestPath = requestPath; this.errorDescr = errorDescr; this.serviceProvider = sp; } public LibRuntimeException(int errorCode, Exception cause, ServiceProvider sp) { super(cause); this.errorCode = errorCode; this.requestPath = ""; this.errorDescr = cause.getMessage(); this.serviceProvider = sp; } public int getErrorCode() { return errorCode; } public void setErrorCode(int errorCode) { this.errorCode = errorCode; } public int getStatusCode() { if (exceptionCode == LibResultCode.E_UNKNOWN_ERROR) { exceptionCode = errorCode; } return exceptionCode; } public void setStatusCode(int statusCode) { this.exceptionCode = statusCode; } public String getRequestPath() { return requestPath; } public void setRequestPath(String requestPath) { this.requestPath = requestPath; } public String getErrorDescr() { return errorDescr; } public void setErrorDescr(String errorDescr) { this.errorDescr = errorDescr; } public ServiceProvider getServiceProvider() { return serviceProvider; } public void setServiceProvider(ServiceProvider serviceProvider) { this.serviceProvider = serviceProvider; } }