首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在catch块中增加值?

如何在catch块中增加值?
EN

Stack Overflow用户
提问于 2015-02-12 14:45:26
回答 1查看 405关注 0票数 0

我是编程新手。这是我的设想。我在测试一个网站。如果某个链接不是创建的,它应该被捕获块并移动到下一个步骤。如果在k循环中失败,则应该执行k++;而不是i++;或j++;。如果它在j循环中失败,它应该增加j值而不是i值或k值。怎么做?

代码语言:javascript
运行
复制
public static void main(String[] args) throws NoSuchElementException {
    int i = 0, j = 0, k = 0;
    String links[] = new String[10];
    links[0] = "link1";
    links[1] = "link2";
    links[2] = "link3";
    links[3] = "link4";
    WebDriver driver = new FirefoxDriver();

    while (i < 4) {
        try {
            driver.get(links[i]);
            driver.findElement(By.xpath("//div[contains(@id,'image')]")).click();
            while (j < 5) {
                driver.findElement(By.xpath("//div[contains(@id,'header')]")).click();
                while (k < 8) {
                    driver.findElement(By.xpath("//div[contains(@id,'title')]")).click();
                    k++;
                }
                j++;
            }
            i++;
        } catch (NoSuchElementException e) {
            System.out.println(e);
            // How to increment the  value of i or j or k
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-12 14:59:47

在代码的顶部,有:

代码语言:javascript
运行
复制
char currentLoop = 'i';

然后,在每个while-循环声明之后,立即相应地设置值,如下所示:

代码语言:javascript
运行
复制
while (i < 4) {
    currentLoop = 'i';
    ...

    while (j < 5) {
        currentLoop = 'j';
        ...

        while (k < 8) {
            currentLoop = 'k';
            ...
        }
    }
}

然后在捕捉中做:

代码语言:javascript
运行
复制
if (currentLoop == 'i') {
    i++;
}else if (currentLoop == 'j') {
    j++;
}else if (currentLoop == 'k') {
    k++;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28480414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档