Commit ff658841 by Shadow

im-sdk增加异常处理

parent 923ad37c
......@@ -25,7 +25,7 @@ import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import com.alibaba.fastjson.JSON;
import com.wecloud.im.sdk.exception.WecloudException;
import com.wecloud.im.sdk.exception.WecloudImException;
/**
*
......@@ -215,7 +215,7 @@ public class HttpClient {
return okHttpClient.newCall(request.build()).execute();
} catch (Exception e) {
throw new WecloudException("请求失败:" + e.getMessage());
throw new WecloudImException(400, "请求失败:" + e.getMessage());
}
}
......@@ -241,7 +241,7 @@ public class HttpClient {
try {
getSemaphoreInstance().acquire();
} catch (InterruptedException e) {
throw new WecloudException("请求失败:" + e.getMessage());
throw new WecloudImException(400, "请求失败:" + e.getMessage());
}
return buffer.toString();
}
......@@ -297,7 +297,7 @@ public class HttpClient {
sc.init(null, trustAllCerts, new SecureRandom());
ssfFactory = sc.getSocketFactory();
} catch (Exception e) {
throw new WecloudException("请求失败:" + e.getMessage());
throw new WecloudImException(400, "请求失败:" + e.getMessage());
}
return ssfFactory;
}
......
package com.wecloud.im.sdk.exception;
import lombok.Getter;
/**
*
* @Author luozh
* @Date 2022年04月13日 16:48
* @Version 1.0
*/
public class WecloudException extends RuntimeException {
public class WecloudImException extends RuntimeException {
@Getter
private int code;
/**
* 错误提示
*/
@Getter
private String message;
public WecloudException(String message) {
public WecloudImException(Integer code, String message) {
super(message);
this.code = code;
this.message = message;
}
}
......@@ -3,6 +3,7 @@ package com.wecloud.im.sdk.internal;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.wecloud.im.sdk.common.ApiResult;
import com.wecloud.im.sdk.exception.WecloudImException;
/**
*
......@@ -21,6 +22,10 @@ public class ResponseParser {
TypeReference<ApiResult<Object>> typeRef = new TypeReference<ApiResult<Object>>() {
};
ApiResult<Object> apiResult = (ApiResult<Object>) JSON.parseObject(jsonResult, typeRef);
// 判断apiResult
if (!(apiResult.getCode() == 200)) {
throw new WecloudImException(apiResult.getCode(), apiResult.getMessage());
}
return apiResult.getData();
}
}
......@@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.wecloud.im.sdk.common.HttpMethod;
import com.wecloud.im.sdk.common.RequestMessage;
import com.wecloud.im.sdk.exception.WecloudException;
import com.wecloud.im.sdk.exception.WecloudImException;
import com.wecloud.im.sdk.model.Conversation;
import com.wecloud.im.sdk.model.CreateConversationRequest;
import com.wecloud.im.sdk.model.ListConversationRequest;
......@@ -138,7 +138,7 @@ public class WecloudImConversationOperation extends WecloudImOperation {
// 校验chatType
String[] allowType = new String[]{"1", "5", "6"};
if (!Arrays.asList(allowType).contains(createConversationRequest.getChatType())) {
throw new WecloudException("chatType 只能为 1 5 6");
throw new WecloudImException(500, "chatType 只能为 1 5 6");
}
// 校验通过 构建参数
TypeReference<Map<String, Object>> typeReference = new TypeReference<Map<String, Object>>() {
......
......@@ -11,7 +11,7 @@ import com.wecloud.im.sdk.common.HttpClient;
import com.wecloud.im.sdk.common.HttpMethod;
import com.wecloud.im.sdk.common.RequestMessage;
import com.wecloud.im.sdk.common.auth.Credentials;
import com.wecloud.im.sdk.exception.WecloudException;
import com.wecloud.im.sdk.exception.WecloudImException;
import static com.wecloud.im.sdk.internal.ImHeaders.X_IM_FROM;
import static com.wecloud.im.sdk.utils.HttpHeaders.CONTENT_TYPE;
......@@ -76,7 +76,7 @@ public abstract class WecloudImOperation {
return ResponseParser.parse(responseBody);
} catch (Exception e) {
throw new WecloudException("发送请求报错: " + e.getMessage());
throw new WecloudImException(400, "发送请求报错: " + e.getMessage());
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment