I don't see java.util.NoSuchElementException anywhere.
Mohan On 9 January 2018 at 15:05, Felix Dorner <felix.dor...@gmail.com> wrote: > Or the same exception class but different classloader? Either of these > two. > > On Jan 9, 2018 10:01, "Dinko Srkoč" <dinko.sr...@gmail.com> wrote: > >> Is your `NoSuchElementException` in the catch clause by any chance >> `java.util.NoSuchElementException`? >> >> cheers, >> Dinko >> >> On 8 January 2018 at 16:18, Mohan Radhakrishnan >> <radhakrishnan.mo...@gmail.com> wrote: >> > In the second case it is this. >> > >> > org.openqa.selenium.NoSuchElementException >> > >> > In the first case this seems to escape out. >> > >> > So I changed my first clause to this. >> > >> > }catch( NoSuchElementException nse ){ >> > print "Catch clause " + nse >> > }catch( Exception e ){ >> > print "Catch clause " + e >> > } >> > >> > It prints org.openqa.selenium.NoSuchElementException if I catch >> 'Exception'. >> > >> > Does this have anything to do with the 'closure' shown in this trace ? >> > >> > at >> > com.automation.pages.PageObjectLayer$_waitUntil_closure2. >> doCall(PageObjectLayer.groovy:39) >> > at org.openqa.selenium.support.ui.FluentWait.until(FluentWait. >> java:208) >> > at >> > com.automation.pages.PageObjectLayer.waitUntil(PageObjectLay >> er.groovy:39) >> > at >> > com.automation.page.test.WidgetTest.waitUntilNoSuchWidgetExc >> eptionWithMessage(WidgetTest.groovy:54) >> > >> > Thanks. >> > >> > On 8 January 2018 at 19:28, Paul King <pa...@asert.com.au> wrote: >> >> >> >> 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 >> >> >> >> >> > >> >