<br>&nbsp;&nbsp;&nbsp; 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?<br><br>&nbsp;&nbsp;&nbsp; Thanks,
<br>&nbsp;&nbsp;&nbsp;&nbsp; Edson<br><br><div><span class="gmail_quote">2007/8/24, Anstis, Michael (M.) &lt;<a href="mailto:manstis1@ford.com">manstis1@ford.com</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">For what it&#39;s worth I think this would be a good idea 
too.</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Perhaps the default ASM wrapper around the RHS could use a 
try...catch block and log any exceptions of a rules&#39; 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&#39;re ever to let &quot;the business&quot; 
define rules we need to accept they might make mistakes that we&#39;re better off 
capturing and report back than invalidate the whole session. </font></span><span><font color="#0000ff" face="Arial" size="2">Why should a 
whole session be invalidated because a single rule activation failed 
anyway?</font></span></div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">With kind regards,</font></span></div>
<div dir="ltr" align="left"><span></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">Mike</font>&nbsp;</span></div><br>
<blockquote style="margin-right: 0px;">
  <div dir="ltr" align="left" lang="en-us">
  <hr>
  <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a> 
  [mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a>] <b>On Behalf Of </b>Yang 
  Song<br><b>Sent:</b> 24 August 2007 16:16<br><b>To:</b> Rules Users 
  List<br><b>Subject:</b> Re: [rules-users] How to catch Exceptions when firing 
  rules<br></font><br></div><div><span class="e" id="q_114989a85562bef3_1">
  <div></div>
  <div>Thanks a lot for the answer, Mark. But I don&#39;t think it makes sense. 
  </div>
  <div>&nbsp;</div>
  <div>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. </div>
  <div>&nbsp;</div>
  <div>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&nbsp;can&nbsp;do something, e.g. create a new session. Also it should 
  enable the&nbsp;rule firer&nbsp;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. </div>
  <div>&nbsp;</div>
  <div>What do you think? If JBoss Rules already has the ability to do this job, 
  can you please let me know?</div>
  <div>&nbsp;</div>
  <div>Thanks again,</div>
  <div>Yang<br><br>&nbsp;</div>
  <div><span class="gmail_quote">On 8/24/07, <b class="gmail_sendername">Mark 
  Proctor</b> &lt;<a href="mailto:mproctor@codehaus.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">mproctor@codehaus.org</a>&gt; 
  wrote:</span> 
  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
    <div bgcolor="#ffffff" text="#000000">Once an exception is thrown on a 
    conseuqence the current session is considered invalid. You&#39;ll need to add 
    the try catch inside of the actual consequence.<br><br>Mark<br>Yang Song 
    wrote: 
    <blockquote type="cite">
      <div><span>
      <div>Hi, </div>
      <div>&nbsp;</div>
      <div>Anyone knows how to catch the exception when firing the rules? </div>
      <div>&nbsp;</div>
      <div>I wrapped the session.fireAllRules() method using try...catch, 
      however it doesn&#39;t work: when someone wrote&nbsp;bad code in the rule&#39;s 
      action part, the Exception will be thrown and printed to the stderr, and 
      this will make the rule engine stop working --&nbsp;the try...catch 
      outside doesn&#39;t help anything. </div>
      <div>&nbsp;</div>
      <div>If&nbsp;&nbsp;the exception&nbsp;thrown from&nbsp;the rule&#39;s action 
      part&nbsp;can be caught externally,&nbsp;the system can be protected from 
      interrupting Exception.</div>
      <div>
      <p><font style="background-color: rgb(255, 255, 255);" color="#3333ff" face="courier new,monospace">try 
      {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _log.debug(&quot;Firing rules 
      in : &quot; + getName());</font></p>
      <p><font style="background-color: rgb(255, 255, 255);" color="#3333ff" face="courier new,monospace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      session.fireAllRules();</font></p>
      <p><font style="background-color: rgb(255, 255, 255);" color="#3333ff" face="courier new,monospace">} catch (Exception e) 
      {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _log.info(&quot;Error when 
      firing rules: &quot;, e);<br>}</font> <br></p>
      <p>Thanks, <br>Yang</p></div></span></div><pre><hr size="4" width="90%">
_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users@lists.jboss.org
</a>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.jboss.org/mailman/listinfo/rules-users</a>
  </pre></blockquote><br>&nbsp;</div><br>_______________________________________________<br>rules-users 
    mailing list<br><a href="mailto:rules-users@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users@lists.jboss.org 
    </a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></blockquote>
</div><br></span></div></blockquote></div>
<br>_______________________________________________<br>rules-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">
https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>&nbsp;&nbsp;Edson Tirelli<br>&nbsp;&nbsp;Software Engineer - JBoss Rules Core Developer<br>&nbsp;&nbsp;Office: +55 11 3529-6000<br>&nbsp;&nbsp;Mobile: +55 11 9287-5646
<br>&nbsp;&nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a>