<?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: Tratamento de erros em Linguagem C</title>
	<atom:link href="http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tratamento-de-erros-em-linguagem-c</link>
	<description>Sistemas embarcados, Linux e tecnologia</description>
	<lastBuildDate>Mon, 06 Feb 2012 12:08:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Por: eiji</title>
		<link>http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/#comment-135</link>
		<dc:creator>eiji</dc:creator>
		<pubDate>Wed, 28 Sep 2011 03:07:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.sergioprado.org/?p=586#comment-135</guid>
		<description>Gosto de definir tipos enumerados (enum) para definir as condi&#231;&#245;es de retorno das minhas fun&#231;&#245;es. Desta forma, posso definir enums com nomes que facilitam a compreens&#227;o do c&#243;digo, ao inv&#233;s de usar apenas n&#250;meros, char, etc.</description>
		<content:encoded><![CDATA[<p>Gosto de definir tipos enumerados (enum) para definir as condições de retorno das minhas funções. Desta forma, posso definir enums com nomes que facilitam a compreensão do código, ao invés de usar apenas números, char, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Tiago Natel de Moura</title>
		<link>http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/#comment-134</link>
		<dc:creator>Tiago Natel de Moura</dc:creator>
		<pubDate>Wed, 16 Feb 2011 03:10:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.sergioprado.org/?p=586#comment-134</guid>
		<description>&#210;timo artigo,
eu pessoalmente tamb&#233;m costumo retornar um c&#243;digo de erro da fun&#231;&#227;o e uso goto sempre que &#233; necess&#225;rio opera&#231;&#245;es antes de retornar da fun&#231;&#227;o (desalocar mem&#243;ria, fechar arquivos, etc).

	Bom ter falado disso, porque ja peguei algumas bibliotecas que n&#227;o tinham nenhuma padroniza&#231;&#227;o no tratamento de excess&#245;es ...

	Abra&#231;o</description>
		<content:encoded><![CDATA[<p>Òtimo artigo,<br />
eu pessoalmente também costumo retornar um código de erro da função e uso goto sempre que é necessário operações antes de retornar da função (desalocar memória, fechar arquivos, etc).</p>
<p>	Bom ter falado disso, porque ja peguei algumas bibliotecas que não tinham nenhuma padronização no tratamento de excessões …</p>
<p>	Abraço</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: VinIPSmaker</title>
		<link>http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/#comment-133</link>
		<dc:creator>VinIPSmaker</dc:creator>
		<pubDate>Wed, 16 Feb 2011 01:50:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.sergioprado.org/?p=586#comment-133</guid>
		<description>Eu escrevi um artigo no vivaolinux que explora um mais profundamente o uso de setjmp/longjmp, acho que pode-lhe interessar:
http://www.vivaolinux.com.br/artigo/Tratamento-de-excecoes-na-linguagem-C/
&#160;
E parab&#233;ns pelo post, &#233; bem abrangente.</description>
		<content:encoded><![CDATA[<p>Eu escrevi um artigo no vivaolinux que explora um mais profundamente o uso de setjmp/longjmp, acho que pode-lhe interessar:<br />
<a href="http://www.vivaolinux.com.br/artigo/Tratamento-de-excecoes-na-linguagem-C/" rel="nofollow">http://www.vivaolinux.com.br/artigo/Tratamento-de-excecoes-na-linguagem-C/</a><br />
 <br />
E parabéns pelo post, é bem abrangente.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Você usa goto nos seus códigos em C?</title>
		<link>http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/#comment-132</link>
		<dc:creator>Você usa goto nos seus códigos em C?</dc:creator>
		<pubDate>Wed, 16 Feb 2011 01:00:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.sergioprado.org/?p=586#comment-132</guid>
		<description>[...] Uma das defi­ciên­cias da lin­guagem C é a ausên­cia de um mecan­ismo sim­ples e efi­ciente de trata­mento de erros. Já escrevi sobre isso neste post aqui. [...]</description>
		<content:encoded><![CDATA[<p>[…] Uma das defi­ciên­cias da lin­guagem C é a ausên­cia de um mecan­ismo sim­ples e efi­ciente de trata­mento de erros. Já escrevi sobre isso neste post aqui. […]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: sergioprado</title>
		<link>http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/#comment-131</link>
		<dc:creator>sergioprado</dc:creator>
		<pubDate>Mon, 08 Nov 2010 13:46:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.sergioprado.org/?p=586#comment-131</guid>
		<description>Ótima observação Paulo!

Um abraço!</description>
		<content:encoded><![CDATA[<p>Ótima observação Paulo!</p>
<p>Um abraço!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Paulo</title>
		<link>http://sergioprado.org/2010/06/12/tratamento-de-erros-em-linguagem-c/#comment-130</link>
		<dc:creator>Paulo</dc:creator>
		<pubDate>Mon, 08 Nov 2010 10:52:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.sergioprado.org/?p=586#comment-130</guid>
		<description>Bom dia Sergio,
primeiramente gostaria de falar que o artigo esta muito legal e adicionar um coment&#225;rio sobre esta t&#233;cnica do&lt;strong&gt; goto&lt;/strong&gt;.&#160; Caso o desenvolvedor use &lt;strong&gt;malloc&lt;/strong&gt; mais de uma vez a implementa&#231;&#227;o teria que ser um pouco diferente, porque no momento de liberar a mem&#243;ria seria necess&#225;rio verificar quem esta alocado, ou criar tags especificas para cada &lt;strong&gt;goto&lt;/strong&gt;. &#201; &#243;bvio isto, mas muitas vezes passa despercebido, o que causaria um &lt;strong&gt;double free&lt;/strong&gt;.
n&#227;o poderiamos fazer isto, sem fazer uma valida&#231;&#227;o.
&lt;code&gt;fim:
	&lt;/code&gt;
&lt;code&gt;&#160;&#160;&#160; free(var1);
	&#160;&#160;&#160; free(var2);
	&#160;&#160;&#160; free(var3&lt;/code&gt;);</description>
		<content:encoded><![CDATA[<p>Bom dia Sergio,<br />
primeiramente gostaria de falar que o artigo esta muito legal e adicionar um comentário sobre esta técnica do<strong> goto</strong>.  Caso o desenvolvedor use <strong>malloc</strong> mais de uma vez a implementação teria que ser um pouco diferente, porque no momento de liberar a memória seria necessário verificar quem esta alocado, ou criar tags especificas para cada <strong>goto</strong>. É óbvio isto, mas muitas vezes passa despercebido, o que causaria um <strong>double free</strong>.<br />
não poderiamos fazer isto, sem fazer uma validação.<br />
<code>fim:<br />
	</code><br />
<code>&nbsp;&nbsp;&nbsp; free(var1);<br />
	&nbsp;&nbsp;&nbsp; free(var2);<br />
	&nbsp;&nbsp;&nbsp; free(var3</code>);</p>
]]></content:encoded>
	</item>
</channel>
</rss>

