【发布时间】:2015-02-18 12:26:50
【问题描述】:
try{
WebElement naimi_logo = firefox.findElement(By.xpath("//a[@href=\"/astana/\"]/img") ) ;
naimi_logo.click();
}catch( IllegalStateException e){
throw new IllegalStateException("this image is not clickable!") ;
}
catch(NoSuchElementException e){
throw new NoSuchElementException("logo is not found!!") ;
}
我真的应该在我的 catch 块中抛出异常吗?还是只打印控制台发生的事情更好?
捕获的顺序重要吗?
【问题讨论】:
-
这取决于您的要求,但可以肯定的是,这是可能的。但是 catch 块并不是真的只是重新抛出一个异常,而是处理它,或者抛出你自己定制的异常类型。
-
如果来自第一个异常的信息没有足够的信息来处理它,那么是的,您应该重新抛出必要的信息。由于它不是英语或西班牙语,我不知道这是不是其中一种情况。
-
你想用这个 catch 块实现什么?
-
@ERJAN 我的意思是什么阻止你使用原始异常(不捕获)?
-
ERJAN:catch 块在这里没有任何改变。实际上,您正在使情况变得更糟:您添加了一条描述问题所在的错误消息,而没有首先验证这是否是问题所在。
标签: java exception-handling try-catch