<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FLanguage_Basics%2FException_Throw</id>
		<title>Csharp/CSharp Tutorial/Language Basics/Exception Throw - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FLanguage_Basics%2FException_Throw"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Language_Basics/Exception_Throw&amp;action=history"/>
		<updated>2026-04-30T02:48:45Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Language_Basics/Exception_Throw&amp;diff=6534&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Language_Basics/Exception_Throw&amp;diff=6534&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Language_Basics/Exception_Throw&amp;diff=6535&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/Language_Basics/Exception_Throw&amp;diff=6535&amp;oldid=prev"/>
				<updated>2010-05-26T12:19:20Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Creating and throwing an exception object==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      Exception myException = new Exception(&amp;quot;myException&amp;quot;);&lt;br /&gt;
      myException.HelpLink = &amp;quot;See the Readme.txt file&amp;quot;;&lt;br /&gt;
      myException.Source = &amp;quot;My Program&amp;quot;;&lt;br /&gt;
      throw myException;&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e)&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(&amp;quot;HelpLink = &amp;quot; + e.HelpLink);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Source = &amp;quot; + e.Source);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
      Console.WriteLine(&amp;quot;TargetSite = &amp;quot; + e.TargetSite);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;HelpLink = See the Readme.txt file&lt;br /&gt;
Message = myException&lt;br /&gt;
Source = My Program&lt;br /&gt;
StackTrace =    at MainClass.Main()&lt;br /&gt;
TargetSite = Void Main()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Manually throw an exception.==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The general form is:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;throw exceptOb;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rethrow an exception==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System; &lt;br /&gt;
 &lt;br /&gt;
class MainClass { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    try { &lt;br /&gt;
      genException(); &lt;br /&gt;
    } &lt;br /&gt;
    catch(IndexOutOfRangeException) { &lt;br /&gt;
      // recatch exception &lt;br /&gt;
     Console.WriteLine(&amp;quot;Fatal error -- &amp;quot; + &lt;br /&gt;
                       &amp;quot;program terminated.&amp;quot;); &lt;br /&gt;
    } &lt;br /&gt;
  }&lt;br /&gt;
  public static void genException() { &lt;br /&gt;
    int[] numer = { 4, 8}; &lt;br /&gt;
    int d = 0; &lt;br /&gt;
 &lt;br /&gt;
    for(int i=0; i&amp;lt;10; i++) { &lt;br /&gt;
      try { &lt;br /&gt;
        Console.WriteLine(numer[i] + &amp;quot; / &amp;quot; + &lt;br /&gt;
                          numer[i] + &amp;quot; is &amp;quot; + &lt;br /&gt;
                          numer[i]/d); &lt;br /&gt;
      } &lt;br /&gt;
      catch (DivideByZeroException) { &lt;br /&gt;
        // catch the exception &lt;br /&gt;
        Console.WriteLine(&amp;quot;Can&amp;quot;t divide by Zero!&amp;quot;); &lt;br /&gt;
      } &lt;br /&gt;
      catch (IndexOutOfRangeException) { &lt;br /&gt;
        // catch the exception &lt;br /&gt;
        Console.WriteLine(&amp;quot;No matching element found.&amp;quot;); &lt;br /&gt;
        throw; // rethrow the exception &lt;br /&gt;
      } &lt;br /&gt;
    } &lt;br /&gt;
  }   &lt;br /&gt;
   &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Can&amp;quot;t divide by Zero!&lt;br /&gt;
Can&amp;quot;t divide by Zero!&lt;br /&gt;
No matching element found.&lt;br /&gt;
Fatal error -- program terminated.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Throw Exception from a function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
    &lt;br /&gt;
    static void AFunction()&lt;br /&gt;
    {&lt;br /&gt;
        int Zero = 0;&lt;br /&gt;
        int j = 22 / Zero;&lt;br /&gt;
    }&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;efore Function&amp;quot;);&lt;br /&gt;
            AFunction();&lt;br /&gt;
        }&lt;br /&gt;
        catch (DivideByZeroException e)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;DivideByZero {0}&amp;quot;, e);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;efore Function&lt;br /&gt;
DivideByZero System.DivideByZeroException: Attempted to divide by zero.&lt;br /&gt;
   at MainClass.Main()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Throw Exception in finally statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
    static void Main() {&lt;br /&gt;
        try {&lt;br /&gt;
            try {&lt;br /&gt;
                ArrayList list = new ArrayList();&lt;br /&gt;
                list.Add( 1 );&lt;br /&gt;
                Console.WriteLine( &amp;quot;Item 10 = {0}&amp;quot;, list[10] );&lt;br /&gt;
            }&lt;br /&gt;
            finally {&lt;br /&gt;
                Console.WriteLine( &amp;quot;Cleaning up...&amp;quot; );&lt;br /&gt;
                throw new Exception( &amp;quot;I like to throw&amp;quot; );&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        catch( ArgumentOutOfRangeException ) {&lt;br /&gt;
            Console.WriteLine( &amp;quot;Oops!  Argument out of range!&amp;quot; );&lt;br /&gt;
        }&lt;br /&gt;
        catch {&lt;br /&gt;
            Console.WriteLine( &amp;quot;Done&amp;quot; );&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Cleaning up...&lt;br /&gt;
Done&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Wrap exception in another one, adding additional context==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
public class MyClass&lt;br /&gt;
{&lt;br /&gt;
    public void DoAverage()&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            int count = 0;&lt;br /&gt;
            int average = 10 / count;&lt;br /&gt;
        }&lt;br /&gt;
        catch (DivideByZeroException e)&lt;br /&gt;
        {&lt;br /&gt;
            &lt;br /&gt;
            throw (new DivideByZeroException(&lt;br /&gt;
            &amp;quot;Count is zero in DoAverage()&amp;quot;, e));&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        MyClass my = new MyClass();&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            my.DoAverage();&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception e)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;Exception: {0}&amp;quot;, e);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Exception: System.DivideByZeroException: Count is zero in DoAverage() ---&amp;gt; System.DivideByZeroExcept&lt;br /&gt;
ion: Attempted to divide by zero.&lt;br /&gt;
   at MyClass.DoAverage()&lt;br /&gt;
   --- End of inner exception stack trace ---&lt;br /&gt;
   at MyClass.DoAverage()&lt;br /&gt;
   at MainClass.Main()&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>