<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Virtuous Code &#187; Exception handling</title>
	<atom:link href="http://devblog.avdi.org/tag/exception-handling/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.avdi.org</link>
	<description>&#34;The three virtues of a programmer: laziness, impatience, and hubris&#34; -- Larry Wall</description>
	<lastBuildDate>Tue, 21 May 2013 18:19:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Get Two Free Months of Hoptoad with Exceptional Ruby</title>
		<link>http://devblog.avdi.org/2011/06/09/get-two-free-months-of-hoptoad-with-exceptional-ruby/</link>
		<comments>http://devblog.avdi.org/2011/06/09/get-two-free-months-of-hoptoad-with-exceptional-ruby/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 13:00:59 +0000</pubDate>
		<dc:creator>Avdi Grimm</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[Exception handling]]></category>
		<category><![CDATA[exceptions]]></category>
		<category><![CDATA[failures]]></category>
		<category><![CDATA[Hoptoad]]></category>
		<category><![CDATA[reporting]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://avdi.org/devblog/?p=1277</guid>
		<description><![CDATA[If you’re reading this blog there’s a good chance you already know about Hoptoad. For those who don’t know, Hoptoad is a hosted service that does application error logging. You configure your Ruby on Rails, iOS (or other kinds of &#8230; <a href="http://devblog.avdi.org/2011/06/09/get-two-free-months-of-hoptoad-with-exceptional-ruby/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>If you’re reading this blog there’s a good chance you already know about <a href="http://hoptoadapp.com/">Hoptoad</a>. For those who don’t know, Hoptoad is a hosted service that does application error logging. You configure your Ruby on Rails, iOS (or other kinds of apps) to send its errors to Hoptoad, and Hoptoad takes care of aggregating the errors, notifying your team, categorizing the failures, eliminating duplicates, integrating error reports with ticketing systems, and much more.</p>
<div>
<p>The folks at <a href="http://thoughtbot.com/">thoughtbot</a> (makers of Hoptoad) and I have something in common: we’re both really interested in exceptions and failures. Specifically, in helping you handle application failures in a more robust way. And that’s why I’m very happy to announce that starting today, <strong>the next 50 purchasers</strong> of my book <span style="text-decoration: underline;"><a href="http://exceptionalruby.com/?utm_campaign=hoptoad">Exceptional Ruby</a></span> will receive <strong>2 months of free Hoptoad service</strong>.</p>
<p>I think these two things go together like peas and carrots: Hoptoad helps you track down the sources of failure in your app, and <span style="text-decoration: underline;">Exceptional Ruby</span> will help you write your code in such a way that you see fewer and fewer failures.</p>
<p>The details: starting today, the next 50 <em>new</em> purchasers of <span style="text-decoration: underline;">Exceptional Ruby</span> via <a href="http://exceptionalruby.com/?utm_campaign=hoptoad">http://exceptionalruby.com</a> will receive a coupon code for two free months of Hoptoad service. This is valid for new customers and existing free plan upgrades alike, but not for customers who already have paid Hoptoad accounts. This deal will only apply to people purchasing the book, not to anyone who received a coupon for a free copy of the book (e.g. via a conference raffle). Not valid for purchases made anywhere except <a href="http://exceptionalruby.com/?utm_campaign=hoptoad">http://exceptionalruby.com</a>. If you purchase the book and for some reason don’t receive a coupon code from me within 24 hours, please email me: avdi at avdi dot org.</p>
</div>
<p>&nbsp;</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"></a></div>
]]></content:encoded>
			<wfw:commentRss>http://devblog.avdi.org/2011/06/09/get-two-free-months-of-hoptoad-with-exceptional-ruby/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Exceptional Ruby&#8221; Now Available!</title>
		<link>http://devblog.avdi.org/2011/05/04/exceptional-ruby-now-available/</link>
		<comments>http://devblog.avdi.org/2011/05/04/exceptional-ruby-now-available/#comments</comments>
		<pubDate>Wed, 04 May 2011 13:30:27 +0000</pubDate>
		<dc:creator>Avdi Grimm</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[eBook]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[Exception handling]]></category>
		<category><![CDATA[fail-fast]]></category>
		<category><![CDATA[failures]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[raise]]></category>
		<category><![CDATA[rescue]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://avdi.org/devblog/?p=1220</guid>
		<description><![CDATA[I am very, very excited to announce that the final version of my new eBook &#8220;Exceptional Ruby&#8221; is now available for immediate purchase. Originally born out of the realization that I had more material about Ruby failure handling than I &#8230; <a href="http://devblog.avdi.org/2011/05/04/exceptional-ruby-now-available/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://exceptionalruby.com" onclick="_gaq.push(['_link', 'http://exceptionalruby.com/']); return false;"><img class="alignright size-medium wp-image-1222" title="Exceptional Ruby eBook" src="http://virtuouscode.com/wp-content/uploads/2011/05/exceptional-ruby-292x300.png" alt="Cover image of Exceptional Ruby eBook" width="292" height="300" /></a></p>
<p>I am very, very excited to announce that the final version of my new eBook <a href="http://exceptionalruby.com/" onclick="_gaq.push(['_link', 'http://exceptionalruby.com/']); return false;">&#8220;Exceptional Ruby&#8221;</a> is now available for immediate purchase. Originally born out of the realization that I had more material about Ruby failure handling than I could fit into a single talk, Exceptional Ruby has grown to over 100 pages of detailed technical content.</p>
<p>My intent with this book is to provide nothing short of the definitive guide to exceptions and failure handling in Ruby. No other book covers the topic at this level of detail. In fact, I&#8217;m confident that unless your name is Matz, you&#8217;ll find <em>something</em> in here you didn&#8217;t know about Ruby exception handling.</p>
<h3>What&#8217;s inside</h3>
<p>The book starts with an in-depth tour of the Ruby exception lifecycle, with some fun hacks along the way, such as replacing <code>raise</code> with your own methods and making <code>rescue</code>match exceptions on conditions other than their class. It goes on to look at different ways of responding to failures, including some notes on avoiding cascading failure situations. After that comes a comprehensive list of <em>alternatives</em> to exceptions, for cases where &#8220;fail fast&#8221; isn&#8217;t the right choice. It concludes with an extended collection of tips and guidelines for structuring a robust failure management architecture, including a guide to exception-safety testing and a list of the three exception classes I think every program needs.</p>
<p>But that&#8217;s not all; in the appendices, I&#8217;ll step you through the implementation of my exception tester class, and then take you on a whirlwind tour of the Ruby standard exception hierarchy.</p>
<h3>Enjoy, won&#8217;t you?</h3>
<p>I&#8217;ve done my level best to include every last bit of knowledge about handling failure in Ruby code that I&#8217;ve collected over 10 years of using the language. I hope you&#8217;ll <a href="http://exceptionalruby.com" onclick="_gaq.push(['_link', 'http://exceptionalruby.com/']); return false;">check it out</a>. And when you do, please let me know what you think, and if there&#8217;s anything I can clarify or fix.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_a.png?x-id=536bfe6a-a10e-4953-9b54-73279ec83602" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://devblog.avdi.org/2011/05/04/exceptional-ruby-now-available/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
