<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Working with Delphi&#8217;s new Exception.StackTrace</title>
	<atom:link href="http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/</link>
	<description>Our products, programming &#38; business.</description>
	<lastBuildDate>Wed, 18 Jan 2012 21:41:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: Ronald Ruijs</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-162912</link>
		<dc:creator>Ronald Ruijs</dc:creator>
		<pubDate>Wed, 18 Jan 2012 21:41:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-162912</guid>
		<description>Hello Tobias,

Sound great to have stacktrace available. Unfortunately, including JclDebug is not enough. I ended up including large parts of the JCL.

On my wishlist is Exception.Stacktrace as part of SmartInspect, without the need to have yet another component library.

Regards, Ronald</description>
		<content:encoded><![CDATA[<p>Hello Tobias,</p>
<p>Sound great to have stacktrace available. Unfortunately, including JclDebug is not enough. I ended up including large parts of the JCL.</p>
<p>On my wishlist is Exception.Stacktrace as part of SmartInspect, without the need to have yet another component library.</p>
<p>Regards, Ronald</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Delphi Exception.Stacktrace ? - Delphi-PRAXiS</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-112346</link>
		<dc:creator>Delphi Exception.Stacktrace ? - Delphi-PRAXiS</dc:creator>
		<pubDate>Tue, 17 May 2011 11:26:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-112346</guid>
		<description>[...]  [...]</description>
		<content:encoded><![CDATA[<p>[...]  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Delphi Konzeptfrage: abgeleitete Exception-Klasse, die automatisch loggt - Delphi-PRAXiS</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-88596</link>
		<dc:creator>Delphi Konzeptfrage: abgeleitete Exception-Klasse, die automatisch loggt - Delphi-PRAXiS</dc:creator>
		<pubDate>Thu, 09 Dec 2010 18:53:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-88596</guid>
		<description>[...]  [...]</description>
		<content:encoded><![CDATA[<p>[...]  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Moz</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-70218</link>
		<dc:creator>Moz</dc:creator>
		<pubDate>Tue, 13 Jul 2010 04:39:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-70218</guid>
		<description>In Delphi 2010 I find that this returns info from the previous exception - for the first exception thrown this is empty, then after that it&#039;s one behind. Calling JclLastExceptStackListToStrings directly from within an except block is fine.</description>
		<content:encoded><![CDATA[<p>In Delphi 2010 I find that this returns info from the previous exception &#8211; for the first exception thrown this is empty, then after that it&#8217;s one behind. Calling JclLastExceptStackListToStrings directly from within an except block is fine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Delphi 2009 부터는 Exception에 StackTrace가 있는데?</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-66631</link>
		<dc:creator>Delphi 2009 부터는 Exception에 StackTrace가 있는데?</dc:creator>
		<pubDate>Fri, 28 May 2010 14:54:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-66631</guid>
		<description>[...] Working with Delphi’s new Exception.StackTrace    Tagged with: Delphi &#8226; StackTrace&#160;     0 Comments   Leave A Response [...]</description>
		<content:encoded><![CDATA[<p>[...] Working with Delphi’s new Exception.StackTrace    Tagged with: Delphi &bull; StackTrace&nbsp;     0 Comments   Leave A Response [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pierre-Fr. Culand</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-57353</link>
		<dc:creator>Pierre-Fr. Culand</dc:creator>
		<pubDate>Thu, 04 Feb 2010 11:16:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-57353</guid>
		<description>Hi Tobias,

Thank you for your answer.

Actually, I have to admit that my question was a bit stupid... :-o
I noticed just after having posted that the answers to my questions were already in the examples of the JCL...

(in stacktrack and threadexcept examples)

I have now a fantastic tool to debug my multithreaded Delphi 6 application ! Whatever the unhandled exception is raised in the main VCL thread or in one of my other threads...

Thank you for your answer anyway.</description>
		<content:encoded><![CDATA[<p>Hi Tobias,</p>
<p>Thank you for your answer.</p>
<p>Actually, I have to admit that my question was a bit stupid&#8230; <img src='http://blog.gurock.com/wp-includes/images/smilies/icon_surprised.gif' alt=':-o' class='wp-smiley' /><br />
I noticed just after having posted that the answers to my questions were already in the examples of the JCL&#8230;</p>
<p>(in stacktrack and threadexcept examples)</p>
<p>I have now a fantastic tool to debug my multithreaded Delphi 6 application ! Whatever the unhandled exception is raised in the main VCL thread or in one of my other threads&#8230;</p>
<p>Thank you for your answer anyway.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobias Gurock</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-57343</link>
		<dc:creator>Tobias Gurock</dc:creator>
		<pubDate>Thu, 04 Feb 2010 09:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-57343</guid>
		<description>Hello Pierre-François,

In the SmartInspect Console (standard forms application), we are calling JclLastExceptStackListToStrings in the application exception event to show/log/handle unhandled exceptions. Not sure if this event is available in Delphi 6 though (although I guess it is).</description>
		<content:encoded><![CDATA[<p>Hello Pierre-François,</p>
<p>In the SmartInspect Console (standard forms application), we are calling JclLastExceptStackListToStrings in the application exception event to show/log/handle unhandled exceptions. Not sure if this event is available in Delphi 6 though (although I guess it is).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pierre-Fr. Culand</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-57094</link>
		<dc:creator>Pierre-Fr. Culand</dc:creator>
		<pubDate>Mon, 01 Feb 2010 18:31:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-57094</guid>
		<description>I wonder I should be more precise concerning my need:

First be aware I&#039;m using Delphi 6 only...

I tried to use JCLDebug and JCLHookExcept units to log unhandled exceptions of my multithreaded application with a full call stack dump. (Using the JclLastExceptStackList function).

But I noticed that my exception notifier (installed with AddExceptNotifier) is called on EACH exception raised in my application, EVEN IF IT IS ALREADY HANDLED in my code.

But I just want to address unhandled exceptions that make crash one thread of my app, getting the complete call stack dump that lead to the unhandled exception raising.

How can I distinguish unhandled exceptions from handled ones ?

I didn&#039;t found how to do this...

Thanks for any help.</description>
		<content:encoded><![CDATA[<p>I wonder I should be more precise concerning my need:</p>
<p>First be aware I&#8217;m using Delphi 6 only&#8230;</p>
<p>I tried to use JCLDebug and JCLHookExcept units to log unhandled exceptions of my multithreaded application with a full call stack dump. (Using the JclLastExceptStackList function).</p>
<p>But I noticed that my exception notifier (installed with AddExceptNotifier) is called on EACH exception raised in my application, EVEN IF IT IS ALREADY HANDLED in my code.</p>
<p>But I just want to address unhandled exceptions that make crash one thread of my app, getting the complete call stack dump that lead to the unhandled exception raising.</p>
<p>How can I distinguish unhandled exceptions from handled ones ?</p>
<p>I didn&#8217;t found how to do this&#8230;</p>
<p>Thanks for any help.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pierre-Fr. Culand</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-57090</link>
		<dc:creator>Pierre-Fr. Culand</dc:creator>
		<pubDate>Mon, 01 Feb 2010 17:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-57090</guid>
		<description>Sorry if my question is a bit trivial, I&#039;m not sur to have correctly understood that stuff.

What if I need a JCL stack trace for unhandled exceptions only ?

Thank you.
Pierre-François Culand</description>
		<content:encoded><![CDATA[<p>Sorry if my question is a bit trivial, I&#8217;m not sur to have correctly understood that stuff.</p>
<p>What if I need a JCL stack trace for unhandled exceptions only ?</p>
<p>Thank you.<br />
Pierre-François Culand</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobias Gurock</title>
		<link>http://blog.gurock.com/postings/working-with-delphis-new-exception-stacktrace/730/comment-page-1/#comment-50114</link>
		<dc:creator>Tobias Gurock</dc:creator>
		<pubDate>Fri, 23 Oct 2009 13:23:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.gurock.com/?p=730#comment-50114</guid>
		<description>Hello Roland,

Sorry for the late response. Nested exceptions should be covered as well by using the InnerException property as follows:
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;procedure p1;
begin
  try
    p2;
  except
    // Ugly, but seems to work!
    Exception.RaiseOuterException(Exception.Create(&#039;Outer exception&#039;));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Ex: Exception;
begin
  try
    p1;
  except
    on E: Exception do
    begin
      // Should be put in some function:
      Ex := E;
      while Assigned(Ex) do
      begin
        SiMain.LogException(Ex);
        Ex := Ex.InnerException;
      end;
    end;
  end;
end;&lt;/code&gt;&lt;/pre&gt;


I&#039;m not sure which Delphi version first introduced inner exceptions but it&#039;s available in Delphi 2009.</description>
		<content:encoded><![CDATA[<p>Hello Roland,</p>
<p>Sorry for the late response. Nested exceptions should be covered as well by using the InnerException property as follows:<br />
</p>
<pre><code>procedure p1;
begin
  try
    p2;
  except
    // Ugly, but seems to work!
    Exception.RaiseOuterException(Exception.Create('Outer exception'));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Ex: Exception;
begin
  try
    p1;
  except
    on E: Exception do
    begin
      // Should be put in some function:
      Ex := E;
      while Assigned(Ex) do
      begin
        SiMain.LogException(Ex);
        Ex := Ex.InnerException;
      end;
    end;
  end;
end;</code></pre>
<p>I&#8217;m not sure which Delphi version first introduced inner exceptions but it&#8217;s available in Delphi 2009.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

