我正在使用Java EE编写后端用户验证,我对这段代码有疑问。在while
循环中,如果查看调试器并单击cause,它将继续递归,即使Application运行正常(它响应)。这是正确的代码,因为我从讲义中获取了它,但它没有解释这一点。我没有包括整个类,有很多依赖。你能解释一下为什么会这样吗?请查看调试器的屏幕截图。
@Provider
public class RollbackExceptionMapper implements ExceptionMapper<RollbackException> {
@Override
public Response toResponse(RollbackException rbe){
Throwable cause = rbe.getCause();
while (cause != null && !(cause instanceof ConstraintViolationException)){
cause = cause.getCause(); //Breakpoint here
}