<?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: &#8220;Icky&#8221; Decisions</title>
	<atom:link href="http://christopherdeweese.com/blog2/post/icky-decisions/feed" rel="self" type="application/rss+xml" />
	<link>http://christopherdeweese.com/blog2/post/icky-decisions</link>
	<description>IArchitect, IBlog, ILeader</description>
	<lastBuildDate>Fri, 02 Jul 2010 14:23:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Keith Dahlby</title>
		<link>http://christopherdeweese.com/blog2/post/icky-decisions/comment-page-1#comment-176</link>
		<dc:creator>Keith Dahlby</dc:creator>
		<pubDate>Sun, 14 Mar 2010 04:12:06 +0000</pubDate>
		<guid isPermaLink="false">http://christopherdeweese.com/blog2/post/icky-decisions#comment-176</guid>
		<description>I completely agree with Chris that a logged exception is preferable to an empty catch{}. And of course observers should do all they can to avoid throwing in unexceptional circumstances.

In my view, the ickyness isn&#039;t so much that the observer has to observe &quot;with caution&quot;, but that there&#039;s not really a good mechanism to catch bad but not fatal exceptions - if my observer throws an OutOfMemoryException, is that really something I can recover from? As with all things, the answer is &quot;it depends&quot;, but worth some thought.

It&#039;s also worth pointing out that catch(Exception) is changing in .NET 4 to not catch &quot;process corrupting&quot; exceptions by default. http://bit.ly/adlDjg</description>
		<content:encoded><![CDATA[<p>I completely agree with Chris that a logged exception is preferable to an empty catch{}. And of course observers should do all they can to avoid throwing in unexceptional circumstances.</p>
<p>In my view, the ickyness isn&#8217;t so much that the observer has to observe &#8220;with caution&#8221;, but that there&#8217;s not really a good mechanism to catch bad but not fatal exceptions &#8211; if my observer throws an OutOfMemoryException, is that really something I can recover from? As with all things, the answer is &#8220;it depends&#8221;, but worth some thought.</p>
<p>It&#8217;s also worth pointing out that catch(Exception) is changing in .NET 4 to not catch &#8220;process corrupting&#8221; exceptions by default. <a href="http://bit.ly/adlDjg" rel="nofollow">http://bit.ly/adlDjg</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://christopherdeweese.com/blog2/post/icky-decisions/comment-page-1#comment-174</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Fri, 12 Mar 2010 14:31:43 +0000</pubDate>
		<guid isPermaLink="false">http://christopherdeweese.com/blog2/post/icky-decisions#comment-174</guid>
		<description>Yeah, from the guy who works on some event-driven service bus thingy.  It&#039;s a tough call and one I&#039;ve made a few times too.  Not ideal for sure.</description>
		<content:encoded><![CDATA[<p>Yeah, from the guy who works on some event-driven service bus thingy.  It&#8217;s a tough call and one I&#8217;ve made a few times too.  Not ideal for sure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Patterson</title>
		<link>http://christopherdeweese.com/blog2/post/icky-decisions/comment-page-1#comment-173</link>
		<dc:creator>Chris Patterson</dc:creator>
		<pubDate>Fri, 12 Mar 2010 14:27:16 +0000</pubDate>
		<guid isPermaLink="false">http://christopherdeweese.com/blog2/post/icky-decisions#comment-173</guid>
		<description>catch(Exception ex)
{
  _log.Error(&quot;Consumer Exception not caught.&quot;, ex);
}

At least they can learn something from this, compared to eating the exception without even a burp.

And you should catch per event consumer, not a global one because an early failure would prevent other consumers from know about the event.

Not that I have any experience with any of this stuff.</description>
		<content:encoded><![CDATA[<p>catch(Exception ex)<br />
{<br />
  _log.Error(&#8220;Consumer Exception not caught.&#8221;, ex);<br />
}</p>
<p>At least they can learn something from this, compared to eating the exception without even a burp.</p>
<p>And you should catch per event consumer, not a global one because an early failure would prevent other consumers from know about the event.</p>
<p>Not that I have any experience with any of this stuff.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

