请找到以下代码:
public static void selectDefinition(String defName)
{
driver.findElement(By.xpath("//table[@id='MainContent_gdvDefs_DXMainTable']//td[text()='"+defName+"']")).click();
}
和
try{
selectDefinition(defdelname);
System.out.println("Definition "+defdelname+" was not removed from the table");
}
catch (Exception ex)
{
System.out.println("Definition "+defdelname+"was removed successfully from the table");
}
在上面的代码中如果" defdelname"删除catch块没有执行但是对于selectDefinition它没有抛出这样的元素异常。
我是初学者请帮助我...解决这个问题我想让catch块执行任何解决方法吗?
答案 0 :(得分:0)
您必须将throws Exception
添加到您的方法中,这样会将异常抛出到try / catch块内的calle并正确处理:
public static void selectDefinition(String defName) throws Exception
{
driver.findElement(By.xpath("//table[@id='MainContent_gdvDefs_DXMainTable']//td[text()='"+defName+"']")).click();
}
这是不例外工作的意义。它们用于警告程序执行期间发生错误,而不是管理程序工作流程。同样在您的代码中,您使用catch块来报告成功状态,与异常捕获的目的相反。
如果你的方法既可以成功也可以不成功(根据你的例子,删除和不能从表中删除是可能的结果)你应该使用带有意义值的return语句,例如布尔true \ false
变量。只有在创建它的行为不打算发生时才会发生异常。