【发布时间】:2016-10-19 08:44:43
【问题描述】:
使用 vaadin (7.7.3) 我正在按名称过滤网格,此过滤需要几秒钟才能从 Grid gui 中删除对象。因此,如果我单击从Container 中删除的Grid 的一行,则会引发异常:
Caused by: java.lang.IllegalArgumentException: Given item id (5422bef6-e472-4d3e-af54-316c52d373da) does not exist in the container
at com.vaadin.ui.Grid$AbstractSelectionModel.checkItemIdExists(Grid.java:1371)
at com.vaadin.ui.Grid$SingleSelectionModel.select(Grid.java:1460)
at com.vaadin.ui.Grid$SingleSelectionModel$1.select(Grid.java:1445)
我猜这是正常的,因为它会从 Container 中删除对象,然后它会传播到 gui。
我曾想过在我的 Grid 类中捕获覆盖 checkItemIdExists() 方法的异常,但它会在每种情况下捕获异常,这不是我要寻找的行为。
我的问题是:我如何才能在这种情况下捕获这个异常?
【问题讨论】:
-
您是在问如何在使用过滤器之前取消选择元素吗?还是您在问如何避免这种异常?
-
简单地捕获 IllegalArgumentException..
-
无法捕获异常。此异常不会在应用程序代码中启动。好像是vaadin组件库在使用组件时启动的。
标签: java vaadin7 vaadin-grid