Re: JESS: RE: Catching a java exception via Jess in Java

"Ernest Friedman-Hill" <[email protected]> Thu, 13 Jan 2011 11:28:43 -0500
Newsgroups gmane.comp.java.jess
Message-ID <[email protected]>
Ah, OK. Well, the origin of this behavior is that this is how the read- 
eval-print loop worked in CLIPS:

CLIPS> new java.net.URL foo://bar/
new

For many other Lisp-like languages, this would be an error, but in  
CLIPS and Jess, a bare symbol is just a symbol, not a variable, and so  
it evaluates OK. Note that the following is an error (and throws an  
exception from eval):

Jess> ?new java.net.URL foo://bar/
Jess reported an error in routine Context.getVariable.
   Message: No such variable new.
   Program text: ?new  at line 1.



On Jan 13, 2011, at 9:00 AM, Gelder, Kero van wrote:

> Hi all,
>
> We found a test program that indicates that Jess should (re)raise  
> exceptions from Java to Java.
> I typed in the code below, and of course it confirmed my suspicions  
> that no exception was raised.
> We then tried upgrading Jess (from 7.0p1 to 7.1p2), but no change.
>
> That surprised us, so we looked a bit better; can you spot the  
> mistake in the program below?
> Are you sure you DON'T want a JessException, or *any* exception for  
> this mistake? (i.e. should I file a bug report or feature request?)
>
> Knowing it worked, we knew better where to look and found the place  
> where the Exception was caught in our code, rather than our framework.
> Found it; original question answered.
>
> Bye,
> Kero.
>
>
> import jess.*;
>
> public class TryIt {
>    public static void main(String arg[]) {
>        try {
>            Rete r = new Rete();
>            r.eval("new java.net.URL foo://bar/");
>        } catch (JessException e) {
>            e.printStackTrace();
>        } catch (Throwable e) {
>            e.printStackTrace();
>        }
>    }
> }
>
>
> __
> Kero van Gelder
> Software Engineer
> Systems Creation
> MiPlaza
> Philips Research Europe
> High Tech Campus 34.6.12 (WY61)
> 5656 AE Eindhoven
> Tel: +31-40-27.47905
> E-mail: [email protected]
> http://www.miplaza.com/
>
> ________________________________________
> From: [email protected] [[email protected]] On  
> Behalf Of Gelder, Kero van [[email protected]]
> Sent: Thursday, January 13, 2011 13:13
> To: [email protected]
> Subject: JESS: Catching a java exception via Jess in Java
>
> Hello!
>
> We are writing unit tests around or software with JUnit and JMock.
> When we run certain tests, Jess will call Java methods.
> In the unit tests, JMock provides stubs for these methods.
> With the expectations set, these method calls may raise an exception.
> Jess catches this exception and prints it.
>
> Thus, JUnit does not see the exception.
> So when JMock flags a failure, our tests still pass.
>
> A similar thing will happen in the deployed system, of course.
>
> Is it possible to let Jess re-throw the exception?
>
> We tried to find a flag to set on Jess, but could not find any.
>
> We know that try/catch in Jess can install a handler, but we do not  
> know how to wrap such try/catch when we call Rete.run() from Java.
>
> Other suggestions?
>
> Bye,
> Kero.
>
> __
> Kero van Gelder
> Software Engineer
> Systems Creation
> MiPlaza
> Philips Research Europe
> High Tech Campus 34.6.12 (WY61)
> 5656 AE Eindhoven
> Tel: +31-40-27.47905
> E-mail: [email protected]
> http://www.miplaza.com/
>
> The information contained in this message may be confidential and  
> legally protected under applicable law. The message is intended  
> solely for the addressee(s). If you are not the intended recipient,  
> you are hereby notified that any use, forwarding, dissemination, or  
> reproduction of this message is strictly prohibited and may be  
> unlawful. If you are not the intended recipient, please contact the  
> sender by return e-mail and destroy all copies of the original  
> message.
>
>
>
>
>
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users  
> [email protected]'
> in the BODY of a message to [email protected], NOT to the list
> (use your own address!) List problems? Notify [email protected] 
> .
> --------------------------------------------------------------------
>
>
>
>
>
>
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users  
> [email protected]'
> in the BODY of a message to [email protected], NOT to the list
> (use your own address!) List problems? Notify [email protected] 
> .
> --------------------------------------------------------------------

---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences          Phone: (925) 294-2154
Sandia National Labs
PO Box 969, MS 9012                            [email protected]
Livermore, CA 94550                             http://www.jessrules.com





--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [email protected]'
in the BODY of a message to [email protected], NOT to the list
(use your own address!) List problems? Notify [email protected].
--------------------------------------------------------------------