捕获大多数try catch语句的一种方法

One method to capture most of the try catch statements

在我的 UI java 测试框架中,我有很多方法正在尝试捕获元素操作,例如单击、发送键等,当操作成功时 return true 和发生任何异常时为 false。我想知道是否有任何更聪明的方法将方法作为参数传递,并且在该方法中用 try catch 语句包围该代码。这样代码可以更简单、更清晰地阅读(可能是 Java 8 个功能接口)。

 public boolean expandPanel(String panelHeading) {
        boolean panelFound = false;
        try {
            getElement(PanelHeadings.fromString(panelHeading)).click();
            panelFound = true;
        } catch (Exception e) {
            panelFound = false;
        }
        return panelFound;
    }

我确实尝试创建一个动作 class 并为 click、sendKeys 等定义不同的方法。但是有没有一种方法可以让我只使用一个 try catch 方法并将代码或行为传递给该方法。

public boolean expandPanel(String panelHeading) {
       return actions.click(getElement(PanelHeadings.fromString(panelHeading)));
}

public class WebElementActions {
public Boolean click(WebElement element) {
        try {
            element.click();
            return true;
        } catch (Exception e) {
            log.error(e.getMessage());
            return false;
        }
    }
}

你可以这样做

public boolean executeSafely(Runnable action) {
    try {
        action.run();
        return true;
    } catch (Exception x) {
        return false;
   } 
}

然后用return executeSafely(element::click)调用它。