<?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>Comentários sobre: Lidando com Exceptions</title>
	<atom:link href="http://blog.caelum.com.br/lidando-com-exceptions/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caelum.com.br/lidando-com-exceptions/</link>
	<description>blog dos desenvolvedores da Caelum</description>
	<lastBuildDate>Wed, 16 May 2012 20:16:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Por: Marcelo Labbati</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-100816</link>
		<dc:creator>Marcelo Labbati</dc:creator>
		<pubDate>Wed, 11 Apr 2012 20:42:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-100816</guid>
		<description>Gostei muito do tutorial. Quando vi a primeira vez este lance de unchekedException nao estava conseguindo abstrair este conceito de &quot;Ter uma chance de tratar a excessão&quot;. Agora ficou claro.
Parabéns pelo post.</description>
		<content:encoded><![CDATA[<p>Gostei muito do tutorial. Quando vi a primeira vez este lance de unchekedException nao estava conseguindo abstrair este conceito de &#8220;Ter uma chance de tratar a excessão&#8221;. Agora ficou claro.<br />
Parabéns pelo post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: JuuGO(Programdor)</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-90022</link>
		<dc:creator>JuuGO(Programdor)</dc:creator>
		<pubDate>Tue, 06 Sep 2011 17:22:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-90022</guid>
		<description>Otima a Postagem Explicativo e Pratico para os programadores que estão iniciando ou até mesmo programadores experientes.</description>
		<content:encoded><![CDATA[<p>Otima a Postagem Explicativo e Pratico para os programadores que estão iniciando ou até mesmo programadores experientes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Logar é preciso, debugar não é preciso? &#124; blog.caelum.com.br</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-65772</link>
		<dc:creator>Logar é preciso, debugar não é preciso? &#124; blog.caelum.com.br</dc:creator>
		<pubDate>Thu, 27 May 2010 06:55:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-65772</guid>
		<description>[...] erro aqui é a péssima prática de engolir exceptions, que costuma aparecer em diversos códigos por aí. Ao debugar rapidamente, iremos perceber que [...]</description>
		<content:encoded><![CDATA[<p>[...] erro aqui é a péssima prática de engolir exceptions, que costuma aparecer em diversos códigos por aí. Ao debugar rapidamente, iremos perceber que [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Daniel Destro</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-58288</link>
		<dc:creator>Daniel Destro</dc:creator>
		<pubDate>Fri, 03 Jul 2009 13:46:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-58288</guid>
		<description>Um artigo muito bom que vale a leitura sobre tratamento de exceções:
http://tutorials.jenkov.com/java-exception-handling/index.html</description>
		<content:encoded><![CDATA[<p>Um artigo muito bom que vale a leitura sobre tratamento de exceções:<br />
<a href="http://tutorials.jenkov.com/java-exception-handling/index.html" rel="nofollow">http://tutorials.jenkov.com/java-exception-handling/index.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Antonio</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-10639</link>
		<dc:creator>Antonio</dc:creator>
		<pubDate>Mon, 28 May 2007 20:41:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-10639</guid>
		<description>Fiz o teste da fj31 e não entendi porque: 1) a questão 2 tem como resposta a opção c e não a opção a. 2) porque o código da questão 5 não compila e o código da questão 7 compila.</description>
		<content:encoded><![CDATA[<p>Fiz o teste da fj31 e não entendi porque: 1) a questão 2 tem como resposta a opção c e não a opção a. 2) porque o código da questão 5 não compila e o código da questão 7 compila.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Vinícius</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-589</link>
		<dc:creator>Vinícius</dc:creator>
		<pubDate>Tue, 12 Dec 2006 23:20:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-589</guid>
		<description>Ao invés de imprimir uma stacktrace no console o ideal é registrar um uncaughtexceptionhandler. Assim você pode encaminhar a exceção que não foi pega para um log.

Você pode mudar o uncaughtExceptionHandler da Thread chamando: Thread.setUncaughtExceptionHandler 
ou mudar o da aplicação chamando o método
Thread.setDefaultUncaughtExceptionHandler.

Você terá que implementar a interface Thread.UncaughtExceptionHandler que define um método muito simples, que é chamado toda vez que uma runtime exception não é capturada. Nesse método sim, dê uma mensagem bem trabalhada para seu usuário e grave o feio stack trace da Thread em algum log.</description>
		<content:encoded><![CDATA[<p>Ao invés de imprimir uma stacktrace no console o ideal é registrar um uncaughtexceptionhandler. Assim você pode encaminhar a exceção que não foi pega para um log.</p>
<p>Você pode mudar o uncaughtExceptionHandler da Thread chamando: Thread.setUncaughtExceptionHandler<br />
ou mudar o da aplicação chamando o método<br />
Thread.setDefaultUncaughtExceptionHandler.</p>
<p>Você terá que implementar a interface Thread.UncaughtExceptionHandler que define um método muito simples, que é chamado toda vez que uma runtime exception não é capturada. Nesse método sim, dê uma mensagem bem trabalhada para seu usuário e grave o feio stack trace da Thread em algum log.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Paulo Silveira</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-167</link>
		<dc:creator>Paulo Silveira</dc:creator>
		<pubDate>Tue, 17 Oct 2006 22:40:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-167</guid>
		<description>Vale lembrar que

&lt;code&gt;
e.printStackTrace();
&lt;/code&gt;

imprime no System.err

Um exemplo clássico (e famoso) de mal uso de exceptions está no Velocity... tente pegar ou renderizar um template. O método joga 3 exceptions , algo como: ParserException, TemplateNotFoundException e Exception.

Ahn!? Isso mesmo, Exception, você não sabe o que aconteceu dentro do método, só sabe que ocorreu uma exception.</description>
		<content:encoded><![CDATA[<p>Vale lembrar que</p>
<p><code><br />
e.printStackTrace();<br />
</code></p>
<p>imprime no System.err</p>
<p>Um exemplo clássico (e famoso) de mal uso de exceptions está no Velocity&#8230; tente pegar ou renderizar um template. O método joga 3 exceptions , algo como: ParserException, TemplateNotFoundException e Exception.</p>
<p>Ahn!? Isso mesmo, Exception, você não sabe o que aconteceu dentro do método, só sabe que ocorreu uma exception.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Rodrigo Soriano Arcova</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-126</link>
		<dc:creator>Rodrigo Soriano Arcova</dc:creator>
		<pubDate>Fri, 13 Oct 2006 22:59:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-126</guid>
		<description>Muito bacana Fábio.

Abraço.

Rodrigo Soriano Arcova.</description>
		<content:encoded><![CDATA[<p>Muito bacana Fábio.</p>
<p>Abraço.</p>
<p>Rodrigo Soriano Arcova.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Michael Nascimento Santos</title>
		<link>http://blog.caelum.com.br/lidando-com-exceptions/comment-page-1/#comment-113</link>
		<dc:creator>Michael Nascimento Santos</dc:creator>
		<pubDate>Mon, 09 Oct 2006 14:03:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/#comment-113</guid>
		<description>Outra regra interessante: se quiser apenas logar uma exce&#231;&#227;o e n&#227;o etiver usando um framework de logging, fa&#231;a:

&lt;code&gt;
e.printStackTrace();
&lt;/code&gt;

e nunca:

&lt;code&gt;
System.out.println(e);
&lt;/code&gt;

ou ainda:

&lt;code&gt;
System.out.println(e.getMessage());
&lt;/code&gt;

Pelo menos a informa&#231;&#227;o do stack trace ser&#225; impressa e permitir&#225; identificar o lugar que originou o erro.</description>
		<content:encoded><![CDATA[<p>Outra regra interessante: se quiser apenas logar uma exce&ccedil;&atilde;o e n&atilde;o etiver usando um framework de logging, fa&ccedil;a:</p>
<p><code><br />
e.printStackTrace();<br />
</code></p>
<p>e nunca:</p>
<p><code><br />
System.out.println(e);<br />
</code></p>
<p>ou ainda:</p>
<p><code><br />
System.out.println(e.getMessage());<br />
</code></p>
<p>Pelo menos a informa&ccedil;&atilde;o do stack trace ser&aacute; impressa e permitir&aacute; identificar o lugar que originou o erro.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

