我正在编写一个硒代码。
除非我把 Thread.Sleep 放在一个 try catch 块中,否则它将无法工作。它实际上抛出编译时错误。
为什么会这样?
public void test() {
System.out.println("in the test method");
achromeDriver.get(abaseUrl);
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WebElement benzRadioBtn = achromeDriver.findElement(By.id("benzradio"));
benzRadioBtn.click();
WebElement benzCheckBox = achromeDriver.findElement(By.id("benzcheck"));
benzCheckBox.click();
System.out.println("Is ben radio button selected ? "+ benzRadioBtn.isSelected());
}
Thread.sleep(( 方法抛出一个 InterruptedException。这个异常是否真的会被抛出取决于在执行java代码期间会发生什么,该方法只是让你知道它可能会发生,并且你应该以某种方式处理它。
处理异常的一种方法是将其放在 try catch 块中,因此如果抛出异常,程序仍将继续,并且 catch 块中的代码将执行。
如果你真的不想要一个 try catch 块(不知道为什么你不想要(,你可以在方法的顶部添加一个 throws 声明,看起来像这样:
public void test() throws InterruptedException {
我会阅读更多关于java异常及其工作原理的信息
https://stackify.com/specify-handle-exceptions-java/
https://www.geeksforgeeks.org/exceptions-in-java/