<?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: How are you doing global exception handling in Flex/Flash/AS3?</title>
	<atom:link href="http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/feed/" rel="self" type="application/rss+xml" />
	<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/</link>
	<description>A blog about Adobe Flex</description>
	<lastBuildDate>Thu, 29 Jul 2010 11:28:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
	<item>
		<title>By: Flassari</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-209875</link>
		<dc:creator>Flassari</dc:creator>
		<pubDate>Wed, 23 Jun 2010 17:29:19 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-209875</guid>
		<description>The new global error handler works like a charm. Flash Builder 4 doesn&#039;t support it out of the box but it&#039;s easy to get it to work, I wrote a post about it: http://flassari.is/2010/06/global-error-handling-with-flash-player-10-1/

Made my life so much easier, no more &quot;can you install the debug player...&quot;, just catch it and submit it automatically, or tell the user to copy it if submission fails.</description>
		<content:encoded><![CDATA[<p>The new global error handler works like a charm. Flash Builder 4 doesn&#8217;t support it out of the box but it&#8217;s easy to get it to work, I wrote a post about it: <a href="http://flassari.is/2010/06/global-error-handling-with-flash-player-10-1/" rel="nofollow">http://flassari.is/2010/06/global-error-handling-with-flash-player-10-1/</a></p>
<p>Made my life so much easier, no more &#8220;can you install the debug player&#8230;&#8221;, just catch it and submit it automatically, or tell the user to copy it if submission fails.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CaioToOn!</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-208489</link>
		<dc:creator>CaioToOn!</dc:creator>
		<pubDate>Fri, 09 Oct 2009 16:51:18 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-208489</guid>
		<description>Seems like this problem will be addressed on Flash Player 10.1

Look: http://labs.adobe.com/technologies/flashplayer10/features.html#developer


CaioToOn!</description>
		<content:encoded><![CDATA[<p>Seems like this problem will be addressed on Flash Player 10.1</p>
<p>Look: <a href="http://labs.adobe.com/technologies/flashplayer10/features.html#developer" rel="nofollow">http://labs.adobe.com/technologies/flashplayer10/features.html#developer</a></p>
<p>CaioToOn!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Global Exception Handling / Crash Reporting in Adobe AIR &#8211; Partially Solved?</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-208400</link>
		<dc:creator>Global Exception Handling / Crash Reporting in Adobe AIR &#8211; Partially Solved?</dc:creator>
		<pubDate>Fri, 18 Sep 2009 11:24:02 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-208400</guid>
		<description>[...] to Doug McCune&#8217;s excellent post on this topic, I saw that someone was Monkey Patching their Flex libraries to add some code to try and catch most [...]</description>
		<content:encoded><![CDATA[<p>[...] to Doug McCune&#8217;s excellent post on this topic, I saw that someone was Monkey Patching their Flex libraries to add some code to try and catch most [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jörg</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-207959</link>
		<dc:creator>Jörg</dc:creator>
		<pubDate>Mon, 15 Jun 2009 17:55:11 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-207959</guid>
		<description>Hi Doug,

I think I found a solution for the callLater RTE&#039;s:
http://liquidnight.de/2009/06/15/global-exception-handling-in-flex/</description>
		<content:encoded><![CDATA[<p>Hi Doug,</p>
<p>I think I found a solution for the callLater RTE&#8217;s:<br />
<a href="http://liquidnight.de/2009/06/15/global-exception-handling-in-flex/" rel="nofollow">http://liquidnight.de/2009/06/15/global-exception-handling-in-flex/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-207794</link>
		<dc:creator>Adrian</dc:creator>
		<pubDate>Sat, 16 May 2009 02:40:36 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-207794</guid>
		<description>Similar problem in the java world, check for null pointers, use try/catch in your code.  But it doesn&#039;t necessarily relate to Flash.  The javascript approach is interesting but I would assume it would be rather flaky.  If you have a FABridge or ExternalInterface call fail it wrecks havoc on all calls following that.  Great question, but I am not sure if I am a fan of &#039;polling&#039; to be part of the error handling process.  But that is just an opinion.</description>
		<content:encoded><![CDATA[<p>Similar problem in the java world, check for null pointers, use try/catch in your code.  But it doesn&#8217;t necessarily relate to Flash.  The javascript approach is interesting but I would assume it would be rather flaky.  If you have a FABridge or ExternalInterface call fail it wrecks havoc on all calls following that.  Great question, but I am not sure if I am a fan of &#8216;polling&#8217; to be part of the error handling process.  But that is just an opinion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Taylor</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-207766</link>
		<dc:creator>Taylor</dc:creator>
		<pubDate>Tue, 28 Apr 2009 01:13:11 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-207766</guid>
		<description>Wow, I&#039;m curious about Greg&#039;s solution too.  I am now one of the voters on the bug, and it burns me up that it still has a priority of &quot;C&quot; in their bug database.  
We are porting our app from C# over to AIR.  Since it&#039;s so easy to do, our C# app has crash reporting.  It&#039;s got a few thousand desktop installations, and even though it&#039;s pretty solid, I still get a crash report every day or so.  And sometimes of course, we&#039;ll release a beta that will &quot;flood&quot; me with useful crash reports and let me get it fixed ASAP.  The idea of releasing commercial software without the ability to do this scares me.  I can imagine the tech support emails I&#039;ll be getting:
Me: &quot;What happened?&quot;  
Them: &quot;Well, the app started getting weird, and then silently froze.&quot;
Me: 

This evening I was hoping that the trace or error text was logged to stderr or stdout in hopes that I might be able to capture that and filter it.  In my first tests for AIR, none of the text even goes to the std pipes, and even if it did, they don&#039;t provide easy access to the std pipes.  I was hoping that maybe Alchemy&#039;s support(?) for pipes might help, but like I say, the text needs to go there first, and it looks like the release builds of your AIR app are pretty silent.  

I also tried enumerating through  flash.desktop.NativeApplication.nativeApplication.openedWindows when the main window got deactivated, in hopes that the error dialog would be one of them and that I could react appropriately.  No dice. 

For our beta testers (who are obviously more hardcore), I plan on using this cookbook trick to get it to pop up the error dialog: http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&amp;postid=13206&amp;loc=en_US&amp;productid=4
Then, at the least, they&#039;ll be able to email me with a stack track.
In fact, I might just leave this on for the app as a whole, considering I&#039;d rather my users see _something_ than nothing at all.</description>
		<content:encoded><![CDATA[<p>Wow, I&#8217;m curious about Greg&#8217;s solution too.  I am now one of the voters on the bug, and it burns me up that it still has a priority of &#8220;C&#8221; in their bug database.<br />
We are porting our app from C# over to AIR.  Since it&#8217;s so easy to do, our C# app has crash reporting.  It&#8217;s got a few thousand desktop installations, and even though it&#8217;s pretty solid, I still get a crash report every day or so.  And sometimes of course, we&#8217;ll release a beta that will &#8220;flood&#8221; me with useful crash reports and let me get it fixed ASAP.  The idea of releasing commercial software without the ability to do this scares me.  I can imagine the tech support emails I&#8217;ll be getting:<br />
Me: &#8220;What happened?&#8221;<br />
Them: &#8220;Well, the app started getting weird, and then silently froze.&#8221;<br />
Me: </p>
<p>This evening I was hoping that the trace or error text was logged to stderr or stdout in hopes that I might be able to capture that and filter it.  In my first tests for AIR, none of the text even goes to the std pipes, and even if it did, they don&#8217;t provide easy access to the std pipes.  I was hoping that maybe Alchemy&#8217;s support(?) for pipes might help, but like I say, the text needs to go there first, and it looks like the release builds of your AIR app are pretty silent.  </p>
<p>I also tried enumerating through  flash.desktop.NativeApplication.nativeApplication.openedWindows when the main window got deactivated, in hopes that the error dialog would be one of them and that I could react appropriately.  No dice. </p>
<p>For our beta testers (who are obviously more hardcore), I plan on using this cookbook trick to get it to pop up the error dialog: <a href="http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&amp;postid=13206&amp;loc=en_US&amp;productid=4" rel="nofollow">http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&amp;postid=13206&amp;loc=en_US&amp;productid=4</a><br />
Then, at the least, they&#8217;ll be able to email me with a stack track.<br />
In fact, I might just leave this on for the app as a whole, considering I&#8217;d rather my users see _something_ than nothing at all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christophe</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-207605</link>
		<dc:creator>Christophe</dc:creator>
		<pubDate>Fri, 27 Feb 2009 18:25:30 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-207605</guid>
		<description>Greg, how much work was this ? I&#039;m thinking of compiling my own version of the Flex framework with a few try/catch statements added at strategic places (in particular to catch the DataGrid problems) but I&#039;m not sure where to start. Can you share a bit more details ?</description>
		<content:encoded><![CDATA[<p>Greg, how much work was this ? I&#8217;m thinking of compiling my own version of the Flex framework with a few try/catch statements added at strategic places (in particular to catch the DataGrid problems) but I&#8217;m not sure where to start. Can you share a bit more details ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-207581</link>
		<dc:creator>Greg</dc:creator>
		<pubDate>Sun, 22 Feb 2009 12:50:55 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-207581</guid>
		<description>We created our own version of the mx:application class and also created our own layoutmanager class that either extends or copies the code from the mx classes. then in one function (callbacklater) in the layout manager we added a try catch block around that call because 90% of all errors that happen because of things in the flex framework can be caught here, especially the ones you cant trap with a try catch cause they are async. All the other errors we use our own try catch blocks in code. But it was the errors in the flex framework that were causing us the biggest headaches. Now we catch virtually all errors with 1 try catch statement.

It is not an easy thing to implement and might not be possible for some. But it would be an easy fix for the flex team to implement in the framework with little overhead. sure it does not catch every error, but gets the ones you cant try/catch yourself</description>
		<content:encoded><![CDATA[<p>We created our own version of the mx:application class and also created our own layoutmanager class that either extends or copies the code from the mx classes. then in one function (callbacklater) in the layout manager we added a try catch block around that call because 90% of all errors that happen because of things in the flex framework can be caught here, especially the ones you cant trap with a try catch cause they are async. All the other errors we use our own try catch blocks in code. But it was the errors in the flex framework that were causing us the biggest headaches. Now we catch virtually all errors with 1 try catch statement.</p>
<p>It is not an easy thing to implement and might not be possible for some. But it would be an easy fix for the flex team to implement in the framework with little overhead. sure it does not catch every error, but gets the ones you cant try/catch yourself</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: judah</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-207563</link>
		<dc:creator>judah</dc:creator>
		<pubDate>Fri, 20 Feb 2009 02:17:54 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-207563</guid>
		<description>IDK. You could test it like this:

At startup create a callback function that javascript can call.
Set a timeout in javascript that calls that flash callback function on a set interval (like once a second)
Throw an error on purpose
Check if js messages are still getting through
i think the flash player team might best be able to answer your question

you could also extend the error class or monkey patch it to make a call to javascript when an exception is thrown. don&#039;t know if it&#039;s possible to work with the error class. i also heard that there is a way to get the stack trace when encountering an error. just throwing ideas out there.</description>
		<content:encoded><![CDATA[<p>IDK. You could test it like this:</p>
<p>At startup create a callback function that javascript can call.<br />
Set a timeout in javascript that calls that flash callback function on a set interval (like once a second)<br />
Throw an error on purpose<br />
Check if js messages are still getting through<br />
i think the flash player team might best be able to answer your question</p>
<p>you could also extend the error class or monkey patch it to make a call to javascript when an exception is thrown. don&#8217;t know if it&#8217;s possible to work with the error class. i also heard that there is a way to get the stack trace when encountering an error. just throwing ideas out there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deepa Subramaniam</title>
		<link>http://dougmccune.com/blog/2009/02/10/how-are-you-doing-global-exception-handling-in-flexflashas3/comment-page-1/#comment-207528</link>
		<dc:creator>Deepa Subramaniam</dc:creator>
		<pubDate>Tue, 17 Feb 2009 06:00:51 +0000</pubDate>
		<guid isPermaLink="false">http://dougmccune.com/blog/?p=452#comment-207528</guid>
		<description>Hey Co-Author, happy birthday!</description>
		<content:encoded><![CDATA[<p>Hey Co-Author, happy birthday!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
