<?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: Lidando com Exceptions</title>
	<atom:link href="http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/</link>
	<description>blog dos desenvolvedores da Caelum</description>
	<lastBuildDate>Sat, 13 Mar 2010 12:35:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Daniel Destro</title>
		<link>http://blog.caelum.com.br/2006/10/07/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>By: Antonio</title>
		<link>http://blog.caelum.com.br/2006/10/07/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>By: Vinícius</title>
		<link>http://blog.caelum.com.br/2006/10/07/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>By: Paulo Silveira</title>
		<link>http://blog.caelum.com.br/2006/10/07/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>By: Rodrigo Soriano Arcova</title>
		<link>http://blog.caelum.com.br/2006/10/07/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>By: Michael Nascimento Santos</title>
		<link>http://blog.caelum.com.br/2006/10/07/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>
