**
如何手动处理程序抛出的异常,返回自定义信息
**
通过全局异常处理器来处理。
/**
* 处理SQL异常
* @param ex
* @return
*/
@ExceptionHandler
//SQLIntegrityConstraintViolationException 是控制台抛出的异常
public Result exceptionHandler(SQLIntegrityConstraintViolationException ex){
//Duplicate entry 'zhangsan' for key 'employee.idx_username'
String message = ex.getMessage(); //获取异常信息
if(message.contains("Duplicate entry")){
String[] split = message.split(" "); //把字符串 按照空格分隔-- 转为数组
String username = split[2];
String msg = username + MessageConstant.ALREADY_EXISTS;
//返回自定义信息
return Result.error(msg);
}else{
return Result.error(MessageConstant.UNKNOWN_ERROR);
}
}