场景
A系统执行用户注销时,需要调用B系统的一个清除用户数据的接口
同时需要B系统向C系统调用注销接口,根据C系统的注销结果及
B系统的本身系统业务执行结果,根据执行情况返回给A系统。
分块异常处理
对于不同系统的接口层调用,要分开用try-catch进行异常捕获,
并打印相关日志信息,同时在打印日志信息时,一定要把异常打印到日志中,
方便出现问题时,精确定位问题。
- C系统端业务
try {
if(eleState.equals("1")){
//启用
//a.调用C系统端接口
flag = terminalsIntf.enableTerminal(terminalId);
if(!flag){
msg = "C系统端调取启用接口失败!";
log.error("C系统端调取启用接口失败!");
}
}else if(eleState.equals("0")){
//禁用
//a.调用C系统端接口
flag = terminalsIntf.disableTerminal(terminalId);
if(!flag){
msg = "C系统端调取禁用接口失败!";
log.error("C系统端调取禁用接口失败!");
}
}else{
msg = "A系统端参数传入有误!";
log.error("A系统端参数传入有误!");
}
} catch (Exception e1) {
msg = "C系统端接口调用异常!";
log.error("C系统端接口调用异常!",e1);
}
- B系统端业务
try {
if(flag){
boolean result = elementBasicInfoMapper.changeEleStateByTerminalId(terminalId,eleState);
if(!result){
msg = "B系统端调用修改接口失败!";
log.error("B系统端调用修改接口失败!");
}
}
} catch (Exception e2) {
msg = "B系统端接口调用异常!";
log.error("B系统端接口调用异常!",e2);
}
#常用日志工具类
Log4j,slf4j
两者的异同:详细信息见下博文
http://blog.csdn.net/u014344668/article/details/73277760
#日志级别的控制
info级别
正常执行结果,一般采用info级别的日志生成log.info();
error级别
调用接口失败,抛异常时,一般采用error级别的日志生成log.error(“自定义异常信息”,e);
学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:543120397 我们一起学Java!