groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Dorner <felix.dor...@gmail.com>
Subject Re: Catch clause difference
Date Tue, 09 Jan 2018 09:35:49 GMT
Or the same exception class but  different classloader? Either of these
two.

On Jan 9, 2018 10:01, "Dinko Srko─Ź" <dinko.srkoc@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.mohan@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(
> PageObjectLayer.groovy:39)
> >       at
> > com.automation.page.test.WidgetTest.waitUntilNoSuchWidgetException
> WithMessage(WidgetTest.groovy:54)
> >
> > Thanks.
> >
> > On 8 January 2018 at 19:28, Paul King <paulk@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.mohan@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
> >>
> >>
> >
>

Mime
View raw message