问题:如何在继承ZuulType类后,再其run()方法中抛出自定义异常?
不能捕获的原因是:过滤器在拦截器之前,全局捕获只能捕获controller的接口,无法直接捕获到ZuulFilter中
如:
public MyZuulFilter extends ZuulFilter{
@Override
public Object run() throws Exception{
throw new MyException("自定义异常");
}
}
要识别抛出的异常,最简单的方法是自定义一个Controller类实现ErrorController类,重写其getErrorPath()方法,比如return "/error"
根据不同的请求类型,定义不同的/error接口,然后再接口中重新抛出异常,再根据全局异常捕获类进行捕获