[[_adapter_error_handling]] ==== Error Handling {{book.project.name}} has some error handling facilities for servlet based client adapters. When an error is encountered in authentication, {{book.project.name}} will call `HttpServletResponse.sendError()`. You can set up an error-page within your `web.xml` file to handle the error however you want. {{book.project.name}} can throw 400, 401, 403, and 500 errors. [source,xml] ---- 403 /ErrorHandler ---- {{book.project.name}} also sets a `HttpServletRequest` attribute that you can retrieve. The attribute name is `org.keycloak.adapters.spi.AuthenticationError`, which should be casted to `org.keycloak.adapters.OIDCAuthenticationError`. For example: [source,java] ---- import org.keycloak.adapters.OIDCAuthenticationError; import org.keycloak.adapters.OIDCAuthenticationError.Reason; ... OIDCAuthenticationError error = (OIDCAuthenticationError) httpServletRequest .getAttribute('org.keycloak.adapters.spi.AuthenticationError'); Reason reason = error.getReason(); System.out.println(reason.name()); ----