[rules-users] How to catch Exceptions when firing rules

Edson Tirelli tirelli at post.com
Fri Aug 24 12:13:38 EDT 2007


    I need to say I like both your arguments, Michael and Yang. The
solution, though, will require investigation and a lot of tests. May I ask
you please to open a feature request in JIRA adding your comments?

    Thanks,
     Edson

2007/8/24, Anstis, Michael (M.) <manstis1 at ford.com>:
>
>  For what it's worth I think this would be a good idea too.
>
> Perhaps the default ASM wrapper around the RHS could use a try...catch
> block and log any exceptions of a rules' activation in a (drools) accessible
> log? Heck you could even allow certain accepted exceptions to be defined as
> a property of the rule; and any other non-defined exception types cause the
> session to become invalidated. If we're ever to let "the business" define
> rules we need to accept they might make mistakes that we're better off
> capturing and report back than invalidate the whole session. Why should a
> whole session be invalidated because a single rule activation failed anyway?
>
> With kind regards,
>
> Mike
>
>  ------------------------------
> *From:* rules-users-bounces at lists.jboss.org [mailto:
> rules-users-bounces at lists.jboss.org] *On Behalf Of *Yang Song
> *Sent:* 24 August 2007 16:16
> *To:* Rules Users List
> *Subject:* Re: [rules-users] How to catch Exceptions when firing rules
>
>  Thanks a lot for the answer, Mark. But I don't think it makes sense.
>
> Because in some scenarios, you cannot guarantee the consequence part of
> rule is 100% correct -- there could be errors happening in run-time which
> are hard to predict, especially when a complex action or logic will be
> executed as the concequece.
>
> There should at least be some mechanisms to tell whoever fires the rule
> that there is something wrong during the rule firing process, then and
> he can do something, e.g. create a new session. Also it should enable
> the rule firer to catch these exceptions and do the clean up work silently
> -- instead of leaving these things on the stderr even cannot be seen in the
> logs. This will make the program depending on the JBoss Rules to be more
> robust.
>
> What do you think? If JBoss Rules already has the ability to do this job,
> can you please let me know?
>
> Thanks again,
> Yang
>
>
> On 8/24/07, Mark Proctor <mproctor at codehaus.org> wrote:
> >
> > Once an exception is thrown on a conseuqence the current session is
> > considered invalid. You'll need to add the try catch inside of the actual
> > consequence.
> >
> > Mark
> > Yang Song wrote:
> >
> >  Hi,
> >
> > Anyone knows how to catch the exception when firing the rules?
> >
> > I wrapped the session.fireAllRules() method using try...catch, however
> > it doesn't work: when someone wrote bad code in the rule's action part, the
> > Exception will be thrown and printed to the stderr, and this will make the
> > rule engine stop working -- the try...catch outside doesn't help anything.
> >
> > If  the exception thrown from the rule's action part can be caught
> > externally, the system can be protected from interrupting Exception.
> >
> > try {
> >         _log.debug("Firing rules in : " + getName());
> >
> >         session.fireAllRules();
> >
> > } catch (Exception e) {
> >         _log.info("Error when firing rules: ", e);
> > }
> >
> > Thanks,
> > Yang
> >
> > ------------------------------
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
> >
> >
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070824/4f9c5cc1/attachment.html 


More information about the rules-users mailing list