Commit ff658841 by Shadow

im-sdk增加异常处理

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