What does printing out `nse` in both cases show? On Mon, Jan 8, 2018 at 11:02 PM, Mohan Radhakrishnan < radhakrishnan.mo...@gmail.com> wrote:
> Hello, > > These catch clauses are somehow different from each other. Why ? > > In the first case 'NoSuchElementException' is somehow escaping the > 'catch' block. My test fails. > > But the second clause succeeds as expected. > > Clause 1 : > > catch( NoSuchElementException nse ){ > > throw new NoSuchWidgetException( " Element " + by.toString() + " not > found" + > " after polling for [" + > pollingInterval.longValue() + > "] with timeout set to [" + > timeOut.longValue() ); > } > > > Clause 2 : > > try{ > WaitForWidget<Widget> wait = > new WaitForWidget<WebDriver>(wd). > pollingEvery(pollingInterval.longValue(),unit). > withTimeout(timeOut.longValue(),unit). > withMessage(supplierClosure) > > wait.until( { wd.findElement( by )} as Function ) > }catch( nse ){ > throw new NoSuchWidgetException( " Element " + by.toString() + " not > found" + > " after polling for [" + > pollingInterval.longValue() + > "] with timeout set to [" + > timeOut.longValue() ); > } > > Thanks, > Mohan >