Vaadin 10+:我如何处理未捕获的异常?

问题描述 投票:1回答:2

在学员8:

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

Vaadin 11中不存在setErrorHandler,我找不到相应的方法或文档。

vaadin vaadin10
2个回答
2
投票

在Flow(Vaadin 10+)中,有一种机制可以捕获路由器中未捕获的异常。因此,您可以创建错误视图,这些视图在捕获定义的异常时显示。它们是通过实现带有异常的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


0
投票

VaadinSession :: setErrorHandler适用于路由/导航期间发生的错误,例如点击时的错误。

© www.soinside.com 2019 - 2024. All rights reserved.