优化异常

This commit is contained in:
cheney
2022-08-18 15:36:12 +08:00
parent 8ee487fbd0
commit 4ddd0d47fd
7 changed files with 471 additions and 377 deletions
+31 -25
View File
@@ -13,78 +13,83 @@ public class SydApiException extends RuntimeException{
return retCode;
}
public void transMsg(){
switch (this.retCode){
private static String transMsg(int code){
String msg = "未定义的错误";
switch (code){
case -1:
case -2:
case -3:
this.msg = "网络错误";
msg = "网络错误";
break;
case -4:
this.msg = "返回包的序列号有误";
msg = "返回包的序列号有误";
break;
case -5:
this.msg = "返回包的命令码有误";
msg = "返回包的命令码有误";
break;
case -6:
this.msg = "输出缓冲区预留太小";
msg = "输出缓冲区预留太小";
break;
case -25:
this.msg = "输入的 HASH 值长度应该为 32 个字节";
msg = "输入的 HASH 值长度应该为 32 个字节";
break;
case -26:
this.msg = "用户标识超长(应该<=16) ";
msg = "用户标识超长(应该<=16) ";
break;
case -27:
this.msg = "数据类型不合法 ";
msg = "数据类型不合法 ";
break;
case 33:
this.msg = "检索的数据或密钥不存在";
msg = "检索的数据或密钥不存在";
break;
case 4:
this.msg = "DER 编码格式错误(公钥) ";
msg = "DER 编码格式错误(公钥) ";
break;
case 21:
this.msg = "输入的数据格式错误 ";
msg = "输入的数据格式错误 ";
break;
case 19:
this.msg = "数据解密错(C3) ";
msg = "数据解密错(C3) ";
break;
case 2:
this.msg = "签名验证错误 ";
msg = "签名验证错误 ";
break;
case 129:
this.msg = "没有该指令";
msg = "没有该指令";
break;
case 0x8006 : {
this.msg = "输入的数据格式错误";
msg = "输入的数据格式错误";
break;
}
case 32770:
this.msg = "签名验证错误(P7) ";
msg = "签名验证错误(P7) ";
break;
case 32773:
this.msg = "证书不可信";
msg = "证书不可信";
break;
case 32884:
this.msg = "证书或签名数据的格式错";
msg = "证书或签名数据的格式错";
break;
case 36868:
this.msg = "DN 所指向的实体不存在";
msg = "DN 所指向的实体不存在";
break;
case 40000:
this.msg = "输入的大数据处理异常";
msg = "输入的大数据处理异常";
default:
this.msg = "未定义的错误";
msg = "未定义的错误";
}
return msg;
}
public void transMsg(){
this.msg = transMsg( this.retCode );
}
public SydApiException(int retCode) {
@@ -95,7 +100,8 @@ public class SydApiException extends RuntimeException{
public SydApiException(String msg, int retCode){
super("SydApiException(" + String.format("%04X", retCode) + ":" + msg +")" );
super("SydApiException(" + String.format("%04X", retCode) + ":" + ( null == msg ? transMsg(retCode) : msg ) + ")" );
this.retCode = retCode;
if (null == msg || "".equals(msg)){
transMsg();
}else {
@@ -119,7 +125,7 @@ public class SydApiException extends RuntimeException{
sb.append(Integer.toHexString(this.retCode));
sb.append(" ) ");
sb.append(" msg = ");
sb.append(this.msg);
sb.append(msg);
return sb.toString();
}
}