Class DefaultErrorHandler

java.lang.Object
com.vaadin.flow.server.DefaultErrorHandler
All Implemented Interfaces:
ErrorHandler, Serializable

public class DefaultErrorHandler extends Object implements ErrorHandler
The default implementation of ErrorHandler. This implementation logs the exception at ERROR level, unless the exception is in the ignore list. By default, the following exceptions are ignored to prevent logs to be flooded by errors that are usually not raised by application logic, but are caused by external event, such as broken connections or network issues.
  • java.net.SocketException
  • java.net.SocketTimeoutException
  • java.io.EOFException
  • org.apache.catalina.connector.ClientAbortException
  • org.eclipse.jetty.io.EofException
If the handler logger is set to DEBUG level, all exceptions are logged, despite they are in the ignore list.
Since:
1.0
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • DefaultErrorHandler

      protected DefaultErrorHandler(Set<String> ignoredExceptions)
    • DefaultErrorHandler

      public DefaultErrorHandler()
  • Method Details

    • error

      public void error(ErrorEvent event)
      Description copied from interface: ErrorHandler
      Invoked when an error occurs.
      Specified by:
      error in interface ErrorHandler
      Parameters:
      event - the fired event.
    • shouldHandle

      protected boolean shouldHandle(Throwable t)
    • findRelevantThrowable

      public static Throwable findRelevantThrowable(Throwable t)
      Vaadin wraps exceptions in its own and due to reflection usage there might be also other irrelevant exceptions that make no sense for Vaadin users (~developers using Vaadin). This method tries to choose the relevant one to be reported.
      Parameters:
      t - a throwable passed to ErrorHandler
      Returns:
      the throwable that is relevant for Vaadin users