首先,异常在这个位置,这些异常都继承了ServiceException异常:
我们Controller层要继承BaseController
@RestController
@RequestMapping("/user")
public class UserController extends BaseController {
}
BaseController类中的写法如此:
public class BaseController {
// 统一处理抛出的异常
@ExceptionHandler({ServiceException.class, FileUpLoadException.class})
public JsonResult<Void> handleException(Throwable e) {
JsonResult<Void> result = new JsonResult<>(200, e.toString(), null);
if (e instanceof UsernameDuplicatedException) {
result.setState(4000);
result.setMsg("用户名已存在");
} else if (e instanceof InsertException) {
result.setState(5000);
result.setMsg("注册时产生未知的异常");
}
return result;
}
}