init files
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
package com.sunyard;
|
||||
|
||||
import com.sunyard.proto.Util;
|
||||
|
||||
/**
|
||||
* Created by Cheney on 2017/8/3.
|
||||
*/
|
||||
public class SydApiException extends RuntimeException{
|
||||
private int retCode;
|
||||
private String msg;
|
||||
|
||||
public int getRetCode() {
|
||||
return retCode;
|
||||
}
|
||||
|
||||
|
||||
public void transMsg(){
|
||||
switch (this.retCode){
|
||||
case -1:
|
||||
case -2:
|
||||
case -3:
|
||||
this.msg = "网络错误";
|
||||
break;
|
||||
case -4:
|
||||
this.msg = "返回包的序列号有误";
|
||||
break;
|
||||
case -5:
|
||||
this.msg = "返回包的命令码有误";
|
||||
break;
|
||||
case -6:
|
||||
this.msg = "输出缓冲区预留太小";
|
||||
break;
|
||||
case -25:
|
||||
this.msg = "输入的 HASH 值长度应该为 32 个字节";
|
||||
break;
|
||||
case -26:
|
||||
this.msg = "用户标识超长(应该<=16) ";
|
||||
break;
|
||||
case -27:
|
||||
this.msg = "数据类型不合法 ";
|
||||
break;
|
||||
case 33:
|
||||
this.msg = "检索的数据或密钥不存在";
|
||||
break;
|
||||
case 4:
|
||||
this.msg = "DER 编码格式错误(公钥) ";
|
||||
break;
|
||||
case 21:
|
||||
this.msg = "输入的数据格式错误 ";
|
||||
break;
|
||||
case 19:
|
||||
this.msg = "数据解密错(C3) ";
|
||||
break;
|
||||
case 2:
|
||||
this.msg = "签名验证错误 ";
|
||||
break;
|
||||
|
||||
case 32770:
|
||||
this.msg = "签名验证错误(P7) ";
|
||||
break;
|
||||
|
||||
case 32773:
|
||||
this.msg = "证书不可信";
|
||||
break;
|
||||
|
||||
case 32884:
|
||||
this.msg = "证书或签名数据的格式错";
|
||||
break;
|
||||
|
||||
case 36868:
|
||||
this.msg = "DN 所指向的实体不存在";
|
||||
break;
|
||||
|
||||
case 40000:
|
||||
this.msg = "输入的大数据处理异常";
|
||||
|
||||
default:
|
||||
this.msg = "未定义的错误";
|
||||
}
|
||||
}
|
||||
|
||||
public SydApiException(int retCode) {
|
||||
this.retCode = retCode;
|
||||
transMsg();
|
||||
}
|
||||
|
||||
|
||||
public SydApiException(String msg, int ret){
|
||||
this(ret);
|
||||
if (null == msg || "".equals(msg)){
|
||||
transMsg();
|
||||
}else {
|
||||
this.msg = msg;
|
||||
}
|
||||
}
|
||||
|
||||
public static SydApiException fromBin( byte[] b , String msg){
|
||||
int code = null != b && b[0] >= 48 && b[0] <= 57 ? Util.a2i( b , 10) : Util.b2i( b );
|
||||
return new SydApiException(msg, code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(SydApiException.class.getName());
|
||||
sb.append(" : ");
|
||||
sb.append("code = ");
|
||||
sb.append(this.retCode);
|
||||
sb.append(" ( 0x");
|
||||
sb.append(Integer.toHexString(this.retCode));
|
||||
sb.append(" ) ");
|
||||
sb.append(" msg = ");
|
||||
sb.append(this.msg);
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user