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].
--------------------------------------------------------------------