I guess there is really a bug, see the following:<br>==============================<br>  f := 123;<br>  try<br>    f := ln(0);<br>  except<br>  end;<br>  //WriteLn(f);<br>  //{<br>  if f = 123 then<br>    WriteLn('f=123, not modified')<br>

  else<br>    WriteLn('f is modified to:', f);<br>  //}<br>===============================<br><br>If I just WriteLn(f), it output Nan, I think there is some magic happening here.<br><br>If I try to use if-then on f, then I get:<br>

<br>An unhandled exception occurred at $000000000040028C :<br>EDivByZero : Division by zero<br>  $000000000040028C line 18 of project1.lpr<br><br><br><div class="gmail_quote">2013/3/2 Michael Van Canneyt <span dir="ltr"><<a href="mailto:michael@freepascal.org" target="_blank">michael@freepascal.org</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
On Sat, 2 Mar 2013, Xiangrong Fang wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
Could anyone explain this:<br>
<br>
Number := 123;<br>
try<br>
  Number := Ln(0);<br>
except<br>
end;<br>
WriteLn(Number);<br>
<br>
The output is Nan, not 123. i.e. when exception occurs the variable is modified anyway!  So in the example below assigning MyInstance<br>
to nil before Create does not help to ensure it is nil if an exception occurs?<br>
</blockquote>
<br></div>
It does, you can test that.<br>
<br>
I suspect that the case above is an artifact of the FPU error reporting, and it should be filed as a bug.<span class="HOEnZb"><font color="#888888"><br>
<br>
Michael.</font></span><br>--<br>
_______________________________________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus.freepascal.org">Lazarus@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a><br>
<br></blockquote></div><br>