Ваадин 10+: Как мне справиться с неисследованными исключениями? - PullRequest
0 голосов
/ 20 ноября 2018

В Ваадин 8:

UI.getCurrent().setErrorHandler(e -> handleError(e));

setErrorHandler не существует в Vaadin 11, и я не могу найти соответствующий метод или документацию.

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Существует VaadinSession :: setErrorHandler для случаев, когда речь идет не об ошибке, возникающей во время маршрутизации / навигации, а, например, при нажатии.

0 голосов
/ 20 ноября 2018

В Flow (Vaadin 10+) есть механизм, который перехватывает неперехваченные исключения в Router.Таким образом, вы можете создавать сообщения об ошибках, которые отображаются при захвате определенного исключения.Они создаются путем реализации интерфейса HasErrorParameter, типизированного с исключением.Ниже приведен пример документации Vaadin:

@Tag(Tag.DIV)
public class RouteNotFoundError extends Component
        implements HasErrorParameter<NotFoundException> {

    @Override
    public int setErrorParameter(BeforeEnterEvent event,
            ErrorParameter<NotFoundException> parameter) {
        getElement().setText("Could not navigate to '"
                    + event.getLocation().getPath() + "'");
        return HttpServletResponse.SC_NOT_FOUND;
    }
}

Я рекомендую прочитать больше из документации.

https://vaadin.com/docs/v11/flow/routing/tutorial-routing-exception-handling.html

...