List Icon
Mailing list Archive

2019 up to July 2022 | 20182017  |  2016  2015 2014 | 2013

The mailing list has been closed since July 2022, but continues to serve as an archive of information about QF-Test.
If you want to stay informed about news about QF-Test, you can simply subscribe to our newsletter:
Subscribe to Newsletter  

 


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [QF-Test] Exception thrown in a procedure is not catched properly in the calling Jython script


  • Subject: Re: [QF-Test] Exception thrown in a procedure is not catched properly in the calling Jython script
  • From: Gregor Schmid <Gregor.Schmid@?.de>
  • Date: Wed, 25 Jan 2017 13:59:35 +0100

Hello Bernhard,

The problem is that the script can catch the UserException, but in
contrast to Try/Catch nodes QF-Test doesn't know about that at the
time when the exception is thrown an logged.

You implemented a clever workaround which, however, is needlessly
complex. The easiest solution is

+ Try
  + Script
  + Catch UserException

In that construct you can use try:/except: in your script and react to
the exception in the except: clause as you would expect. The outer
Try/Catch with QF-Test nodes suppresses the exception state in the
run-log.

Of course you can also write a plain script and handle the exception
in the Catch node. Both ways are possibly and may be applicable
depending on the context.

The same applies to try {...} catch {...} in Groovy scripts.

Best regards,
    Greg


Bernhard Schmitt <bernhard.schmitt@?.de> writes:

> Hello,
>
> ok, I could answer my question on my own. I just created a wrapper function to handle the exception.
>
> The call of this wrapper function is done in the original jython script:
>
> Name = ‚first‘
>
> Paras  = {‚p1‘:1,‘p2‘,2}
>
> rc.callProcedure(„wrap“,{„procName“:Name,“procParas“:Paras})
>
> The procedure „wrap“ with parameters „procName“ and „procParas“ hast the following content:
>
> Try
>
>       Jython Server Script 1
>
> Catch User Exception
>
>      Jython Server Script 2    # log the exception
>
> The Jython Server Script 1 comes here:
>
> import ast
>
> paras = ast.literal_eval(rc.lookup("procPara"))
>
> rc.callProcedure(rc.lookup("procName"),paras)
>
> Maybe it is not the smartest solution but it seems tob e working.
>
> BR
>
> Bernhard
>
> ========================================================================
>
> Bernhard Schmitt
>
> Consultant Softwaretest
>
> E-Mail: bernhard.schmitt@?.de
>
> ------------------------------------------------------------------------
>
> imbus Rhein-Main GmbH, Kirschgartenstraße 15, 65719 Hofheim, DEUTSCHLAND
>
> Tel. +49 6192 92192-0, Fax +49 6192 92192-50
>
> info@?.de http://www.imbus.de
>
> Geschäftsführer: Frank Schmeißner, Tilo Linz, Thomas Roßner
>
> Sitz der Gesellschaft: Hofheim
>
> Registergericht: Frankfurt am Main, HRB 52155
>
> ========================================================================
>
> _______________________________________________
> qftest-list mailing list
> qftest-list@?.de
> https://archive.qfs.de/mailman/listinfo/qftest-list

--
Gregor Schmid

E: gregor.schmid@?.de
T: +49 8171 38648-11
F: +49 8171 38648-16

Quality First Software GmbH | www.qfs.de
Tulpenstr. 41 | 82538 Geretsried | Germany
GF Gregor Schmid, Dr. Martina Schmid, Karlheinz Kellerer
HRB München 140833