Commit d646f38f authored by duanruiming's avatar duanruiming

增加全局异常处理异常类型

parent 65a55283
...@@ -65,9 +65,9 @@ public class CommonEventWarnTask { ...@@ -65,9 +65,9 @@ public class CommonEventWarnTask {
if (Objects.nonNull(signalWarnData)) { if (Objects.nonNull(signalWarnData)) {
CommonEventWarnWebSocketServer.sendInfo(JSONObject.toJSONString(signalWarnData), key); CommonEventWarnWebSocketServer.sendInfo(JSONObject.toJSONString(signalWarnData), key);
} }
// 路口告警 // todo 数据中心获取路口告警
JsonViewObject crossWarnData = getCrossWarnData(); JsonViewObject crossWarnData = getCrossWarnData();
// 事件告警 // todo 数据中心获取事件告警
JsonViewObject crossEventWarnData = getCrossEventWarnData(); JsonViewObject crossEventWarnData = getCrossEventWarnData();
} }
...@@ -98,7 +98,7 @@ public class CommonEventWarnTask { ...@@ -98,7 +98,7 @@ public class CommonEventWarnTask {
String signalId = (String) result.get("signalId"); String signalId = (String) result.get("signalId");
String crossId = (String) result.get("crossId"); String crossId = (String) result.get("crossId");
Integer currentFaultType = (Integer) result.get("faultType"); Integer currentFaultType = (Integer) result.get("faultType");
// 测试数据 // todo 配合测试提供数据, 后续删除
if (Objects.equals(crossId, "13FNK0C6790")) { if (Objects.equals(crossId, "13FNK0C6790")) {
currentFaultType = 1; currentFaultType = 1;
} }
......
...@@ -8,12 +8,63 @@ import org.springframework.web.bind.annotation.ExceptionHandler; ...@@ -8,12 +8,63 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@RestControllerAdvice @RestControllerAdvice
@Slf4j @Slf4j
public class GlobalExceptionHandler { public class GlobalExceptionHandler {
/**
* IO异常处理
*/
@ExceptionHandler(value = IOException.class)
public JsonViewObject exceptionHandler(HttpServletRequest req, IOException e) {
Throwable cause = e.getCause();
String errorMessage;
if (cause != null) {
errorMessage = cause.getMessage();
} else {
StackTraceElement element = e.getStackTrace()[0];
errorMessage = element.getClassName() + " " + element.getLineNumber();
}
log.error("发生IO异常:", e);
return JsonViewObject.newInstance().fail("发生IO异常!位置在:" + errorMessage);
}
/**
* 类类型转换异常处理
*/
@ExceptionHandler(value = ClassCastException.class)
public JsonViewObject exceptionHandler(HttpServletRequest req, ClassCastException e) {
Throwable cause = e.getCause();
String errorMessage;
if (cause != null) {
errorMessage = cause.getMessage();
} else {
StackTraceElement element = e.getStackTrace()[0];
errorMessage = element.getClassName() + " " + element.getLineNumber();
}
log.error("发生类类型转换异常:", e);
return JsonViewObject.newInstance().fail("发生类类型转换异常!位置在:" + errorMessage);
}
/**
* 下表越界异常处理
*/
@ExceptionHandler(value = IndexOutOfBoundsException.class)
public JsonViewObject exceptionHandler(HttpServletRequest req, IndexOutOfBoundsException e) {
Throwable cause = e.getCause();
String errorMessage;
if (cause != null) {
errorMessage = cause.getMessage();
} else {
StackTraceElement element = e.getStackTrace()[0];
errorMessage = element.getClassName() + " " + element.getLineNumber();
}
log.error("发生下标越界异常:", e);
return JsonViewObject.newInstance().fail("发生下标越界异常!位置在:" + errorMessage);
}
/** /**
* 处理空指针的异常 * 处理空指针的异常
......
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