groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mohan Radhakrishnan <radhakrishnan.mo...@gmail.com>
Subject Re: Catch clause difference
Date Tue, 09 Jan 2018 12:26:06 GMT
I don't see java.util.NoSuchElementException anywhere.


Mohan

On 9 January 2018 at 15:05, Felix Dorner <felix.dorner@gmail.com> wrote:

> 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(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 <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