com.vaadin.flow.server.

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

      protected DefaultErrorHandler(Set<String> ignoredExceptions, Set<String> routeConfigurationExceptions)
    • 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