<?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>Spartan Code - Blog &#187; c#</title>
	<atom:link href="http://www.spartan-code.com/blog/tag/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.spartan-code.com/blog</link>
	<description>web development</description>
	<lastBuildDate>Fri, 04 Nov 2011 19:43:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
	<!-- google_ad_section_end --><!-- google_ad_section_start(weight=ignore) -->	<item>
		<title>Excepciones en C#</title>
		<link>http://www.spartan-code.com/blog/asp-net/excepciones-en-c/</link>
		<comments>http://www.spartan-code.com/blog/asp-net/excepciones-en-c/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 12:01:46 +0000</pubDate>
		<dc:creator>Pirata21</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[c#]]></category>

		<guid isPermaLink="false">http://www.spartan-code.com/blog/index.php/excepciones-en-c/</guid>
		<description><![CDATA[Las excepciones son eventos inesperados que interrumpen la ejecución normal de un ensamblado o un proceso (programa).Por ejemplo si un ensamblado esta leyendo un archivo de texto largo desde un disco removible y de pronto el usuario quita el dispositivo, el entorno de ejecución o el sistema operativo mandará una excepción. Las excepciones nunca deberán causar que [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial; font-size: 13px; line-height: normal">Las <strong>excepciones</strong> son eventos inesperados que interrumpen la ejecución normal de un ensamblado o un proceso (programa).Por ejemplo si un ensamblado esta leyendo un archivo de texto largo desde un disco removible y de pronto el usuario quita el dispositivo, el entorno de ejecución o el sistema operativo mandará una excepción. Las excepciones nunca deberán causar que un ensamblado falle por completo. En ese caso usted debe planear cuando las excepciones pueden ocurrir, atraparlas y responder a esos eventos.Las excepciones derivan de la clase <em><strong>Exception</strong></em> del namespace <em><strong>System</strong></em>. Esta clase es la base de todas las excepciones. El entorno de ejecución del .NET Framework nos provee un modelo en el manejo de las excepciones que es basado en representar las excepciones como objetos y separando el código y el manejo de la excepción en bloques <strong>try</strong> y <strong>catch</strong>, respectivamente.Por último si no hubo ninguna excepción entrará en un bloque llamado <strong>finally</strong>, ideal para limpiar valores, o realizar algún método al final del proceso.Dicho de otra manera colocaremos el código de nuestra aplicación, métodos, etc. dentro del bloque try, si ocurre algun tipo de excepción automáticamente entrará al bloque catch.<strong>Tipos de Excepciones en C#</strong>Existen dos categorías de excepciones bajo la clase Exception:
<ul>
<li>Las clases predefinidas del entorno de ejecución (Common Language Runtime) derivando de SystemException.</li>
<li>Y las definidas por el usuario en la aplicación derivando de la clase  ApplicationException.</li>
</ul>
<p></span><strong>Propiedades de una Excepción</strong>Una excepción incluye un número de propiedades que ayudan a identificar la localización del código, el tipo, el archivo de ayuda y la razón de la excepción: StackTrace,InnerException,Message,HelpLink,HResult,Source,TargetSite,Data.Mejores Prácticas:Siguiendo el ejemplo anterior de los Streams en C#<a href="http://mredison.wordpress.com/2009/04/06/streams-en-c/" title="http://mredison.wordpress.com/2009/04/06/streams-en-c/" target="_blank" style="color: #2244bb">http://mredison.wordpress.com/2009/04/06/streams-en-c/</a>Podemos definir bloques try, catch y finally:
<p style="display: inline; float: none; padding: 0px; margin: 0px">&nbsp;</p>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #0000ff">try</span><span style="color: #000000"> {  </span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"></span><span style="color: #0000ff"><span style="white-space: pre" class="Apple-tab-span">	</span>using</span><span style="color: #000000"> (StreamReader lector </span><span style="color: #000000">=</span><span style="color: #000000"> File.OpenText(DIR_ARCHIVO)){   </span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>String linea;   </span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"></span><span style="color: #0000ff"><span style="white-space: pre" class="Apple-tab-span">	</span>while</span><span style="color: #000000"> ((linea </span><span style="color: #000000">=</span><span style="color: #000000"> lector.ReadLine()) </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">)    </span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>{     </span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">		</span>Console.WriteLine(linea);    </span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>}     <span style="white-space: pre" class="Apple-tab-span">	</span>lector.Close();  <span style="white-space: pre" class="Apple-tab-span">	</span>Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">------------------------</span><span style="color: #800000">"</span><span style="color: #000000">);    <span style="white-space: pre" class="Apple-tab-span">	</span>}  <span style="white-space: pre" class="Apple-tab-span">	</span>}  </span><span style="color: #0000ff">catch</span><span style="color: #000000">(Exception ex)</span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>{</span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>Console.WriteLine(</span><span style="color: #800000">"</span><span style="color: #800000">Error al leer el archivo: {0}</span><span style="color: #800000">"</span><span style="color: #000000">,ex.Message);</span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>}  </span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"></span><span style="color: #0000ff"><span style="white-space: pre" class="Apple-tab-span">	</span>finally</span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #0000ff"></span><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>{</span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">		</span>Console.ReadLine();</span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"><span style="white-space: pre" class="Apple-tab-span">	</span>}</span></pre>
<pre style="background-color: #ffffff; white-space: pre-wrap; overflow-x: auto; overflow-y: auto; font-size: 100%"><span style="color: #000000"></span><span style="color: #0000ff">return</span><span style="color: #000000">;</span></pre>
<p> Más acerca de las excepciones en MSDN:URL: <a href="http://msdn.microsoft.com/en-us/library/system.exception.aspx" title="http://msdn.microsoft.com/en-us/library/system.exception.aspx" target="_blank" style="color: #2244bb">http://msdn.microsoft.com/en-us/library/system.exception.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spartan-code.com/blog/asp-net/excepciones-en-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	<!-- google_ad_section_end --><!-- google_ad_section_start(weight=ignore) --></channel>
</rss>

