<?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%2FC_Sharp%2FLanguage_Basics%2FException_Try_Catch</id>
		<title>Csharp/C Sharp/Language Basics/Exception Try Catch - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FLanguage_Basics%2FException_Try_Catch"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Exception_Try_Catch&amp;action=history"/>
		<updated>2026-04-29T19:06:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Exception_Try_Catch&amp;diff=774&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Exception_Try_Catch&amp;diff=774&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:19Z</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/C_Sharp/Language_Basics/Exception_Try_Catch&amp;diff=775&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Language_Basics/Exception_Try_Catch&amp;diff=775&amp;oldid=prev"/>
				<updated>2010-05-26T11:39:53Z</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;==An exception can be generated by one     method and caught by another==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
/* An exception can be generated by one &lt;br /&gt;
   method and caught by another. */ &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
class ExcTest { &lt;br /&gt;
  // Generate an exception. &lt;br /&gt;
  public static void genException() { &lt;br /&gt;
    int[] nums = new int[4];  &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;Before exception is generated.&amp;quot;); &lt;br /&gt;
  &lt;br /&gt;
    // Generate an index out-of-bounds exception. &lt;br /&gt;
    for(int i=0; i &amp;lt; 10; i++) { &lt;br /&gt;
      nums[i] = i; &lt;br /&gt;
      Console.WriteLine(&amp;quot;nums[{0}]: {1}&amp;quot;, i, nums[i]); &lt;br /&gt;
    } &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;this won&amp;quot;t be displayed&amp;quot;);  &lt;br /&gt;
  } &lt;br /&gt;
}     &lt;br /&gt;
 &lt;br /&gt;
public class ExcDemo2 {  &lt;br /&gt;
  public static void Main() {  &lt;br /&gt;
  &lt;br /&gt;
    try {  &lt;br /&gt;
      ExcTest.genException(); &lt;br /&gt;
    }  &lt;br /&gt;
    catch (IndexOutOfRangeException) {  &lt;br /&gt;
      // catch the exception  &lt;br /&gt;
      Console.WriteLine(&amp;quot;Index out-of-bounds!&amp;quot;);  &lt;br /&gt;
    }  &lt;br /&gt;
    Console.WriteLine(&amp;quot;After catch statement.&amp;quot;);  &lt;br /&gt;
  }  &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Catch different exceptions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
namespace nsCompare&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    public class Compare&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main (string [] args)&lt;br /&gt;
        {&lt;br /&gt;
            int TestArg;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                TestArg = int.Parse (args[0]);&lt;br /&gt;
            }&lt;br /&gt;
            catch (FormatException)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;Please enter a number value.&amp;quot;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            catch (IndexOutOfRangeException)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;Please enter an argument&amp;quot;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            string str;&lt;br /&gt;
            str = TestArg &amp;gt; 10 ? &amp;quot;The test is true&amp;quot; : &amp;quot;The test is false&amp;quot;;&lt;br /&gt;
            Console.WriteLine (str);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Catch Divide By Zero Exception==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
namespace nsDivZero&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    public class DivZero&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main ()&lt;br /&gt;
        {&lt;br /&gt;
            // Set an integer equal to 0&lt;br /&gt;
            int IntVal1 = 0;&lt;br /&gt;
            // and another not equal to zero&lt;br /&gt;
            int IntVal2 = 57;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;{0} / {1} = {2}&amp;quot;, IntVal2, IntVal1, IntResult (IntVal2, IntVal1) / IntResult (IntVal2, IntVal1));&lt;br /&gt;
            }&lt;br /&gt;
            catch (DivideByZeroException e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (e.Message);&lt;br /&gt;
            }&lt;br /&gt;
            // Set a double equal to 0&lt;br /&gt;
            double dVal1 = 0.0;&lt;br /&gt;
            double dVal2 = 57.3;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;{0} / {1} = {2}&amp;quot;, dVal2, dVal1, DoubleResult (dVal2, dVal1));&lt;br /&gt;
            }&lt;br /&gt;
            catch (DivideByZeroException e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (e.Message);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static public int IntResult (int num, int denom)&lt;br /&gt;
        {&lt;br /&gt;
            return (num / denom);&lt;br /&gt;
        }&lt;br /&gt;
        static public double DoubleResult (double num, double denom)&lt;br /&gt;
        {&lt;br /&gt;
            return (num / denom);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Catch Error==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
public class CatchError&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        int var1 = 1000, var2 = 0, var3;&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            var3 = var1 / var2;&lt;br /&gt;
        }&lt;br /&gt;
        catch (ArithmeticException e)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;Exception: {0}&amp;quot;, e.ToString());&lt;br /&gt;
            var3 = -1;&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception e)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;Exception: {0}&amp;quot;, e.ToString());&lt;br /&gt;
            var3 = -2;&lt;br /&gt;
        }&lt;br /&gt;
        Console.WriteLine(&amp;quot;The result is: {0}&amp;quot;, var3);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Catches an exception that was thrown in a component==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
// FileOpen.cs -- Catches an exception that was thrown in a component&lt;br /&gt;
//&lt;br /&gt;
//                Compile this program with the following command line:&lt;br /&gt;
//                    C:&amp;gt;csc /r:fopen.dll FileOpen.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsFileOpen&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    using System.IO;&lt;br /&gt;
    class clsMain&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main ()&lt;br /&gt;
        {&lt;br /&gt;
            clsFile file;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                file = new clsFile (&amp;quot;&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (e.Message);&lt;br /&gt;
                Console.WriteLine (&amp;quot;Exception handled in client&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Fopen.cs -- program to show exception handling in a component&lt;br /&gt;
//&lt;br /&gt;
//             Compile this program with the following command line:&lt;br /&gt;
//                 C:&amp;gt;csc /t:library Fopen.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsFileOpen&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    using System.IO;&lt;br /&gt;
    public class clsFile&lt;br /&gt;
    {&lt;br /&gt;
        FileStream strm;&lt;br /&gt;
        public clsFile (string FileName)&lt;br /&gt;
        {&lt;br /&gt;
            strm = new FileStream (FileName, FileMode.Open,&lt;br /&gt;
                                             FileAccess.Read);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrate exception handling==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Demonstrate exception handling. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
public class ExcDemo1 { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    int[] nums = new int[4]; &lt;br /&gt;
 &lt;br /&gt;
    try { &lt;br /&gt;
      Console.WriteLine(&amp;quot;Before exception is generated.&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
      // Generate an index out-of-bounds exception. &lt;br /&gt;
      for(int i=0; i &amp;lt; 10; i++) { &lt;br /&gt;
        nums[i] = i; &lt;br /&gt;
        Console.WriteLine(&amp;quot;nums[{0}]: {1}&amp;quot;, i, nums[i]); &lt;br /&gt;
      } &lt;br /&gt;
 &lt;br /&gt;
      Console.WriteLine(&amp;quot;this won&amp;quot;t be displayed&amp;quot;); &lt;br /&gt;
    } &lt;br /&gt;
    catch (IndexOutOfRangeException) { &lt;br /&gt;
      // catch the exception &lt;br /&gt;
      Console.WriteLine(&amp;quot;Index out-of-bounds!&amp;quot;); &lt;br /&gt;
    } &lt;br /&gt;
    Console.WriteLine(&amp;quot;After catch statement.&amp;quot;); &lt;br /&gt;
  } &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrates stacking catch blocks to provide alternate code for more than one exception type==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
// Except.cs -- Demonstrates stacking catch blocks to provide alternate code for&lt;br /&gt;
// more than one exception type.&lt;br /&gt;
//&lt;br /&gt;
// Compile this program with the following command line:&lt;br /&gt;
//    C:&amp;gt;csc Except.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsExcept&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    using System.IO;&lt;br /&gt;
    &lt;br /&gt;
    public class Except&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main (string [] args)&lt;br /&gt;
        {&lt;br /&gt;
            if (args.Length == 0)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;Please enter a file name&amp;quot;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                ReadFile (args[0]);&lt;br /&gt;
            }&lt;br /&gt;
            catch (ArgumentException)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;The file name &amp;quot; + args [0] +&lt;br /&gt;
                          &amp;quot; is empty or contains an invalid character&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            catch (FileNotFoundException)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;The file name &amp;quot; + args [0] +&lt;br /&gt;
                                   &amp;quot; cannot be found&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            catch (DirectoryNotFoundException)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;The path for &amp;quot; + args [0] +&lt;br /&gt;
                                   &amp;quot; is invalid&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (e);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static public void ReadFile (string FileName)&lt;br /&gt;
        {&lt;br /&gt;
            FileStream strm = new FileStream (FileName, FileMode.Open,&lt;br /&gt;
                                                        FileAccess.Read);&lt;br /&gt;
            StreamReader reader = new StreamReader (strm);&lt;br /&gt;
            string str = reader.ReadToEnd ();&lt;br /&gt;
            Console.WriteLine (str);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demonstrates using if statements to sort out an IOException==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
// IOExcept.cs -- Demonstrates using if statements to sort out an IOException&lt;br /&gt;
//&lt;br /&gt;
//                Compile this program with the following command line:&lt;br /&gt;
//                    C:&amp;gt;csc IOExcept.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsExcept&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    using System.IO;&lt;br /&gt;
    public class IOExcept&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main (string [] args)&lt;br /&gt;
        {&lt;br /&gt;
            if (args.Length == 0)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;Please enter a file name&amp;quot;);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
            ReadFile (args[0]);&lt;br /&gt;
        }&lt;br /&gt;
        static public void ReadFile (string FileName)&lt;br /&gt;
        {&lt;br /&gt;
            FileStream strm = null;&lt;br /&gt;
            StreamReader reader = null;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                strm = new FileStream (FileName, FileMode.Open,&lt;br /&gt;
                                                   FileAccess.Read);&lt;br /&gt;
                reader = new StreamReader (strm);&lt;br /&gt;
                while (reader.Peek() &amp;gt; 0)&lt;br /&gt;
                {&lt;br /&gt;
                    string str = reader.ReadLine();&lt;br /&gt;
                    Console.WriteLine (str);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            catch (IOException e)&lt;br /&gt;
            {&lt;br /&gt;
                if (e is EndOfStreamException)&lt;br /&gt;
                {&lt;br /&gt;
                    Console.WriteLine (&amp;quot;Attempted to read beyond end of file&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
                else if (e is FileNotFoundException)&lt;br /&gt;
                {&lt;br /&gt;
                    Console.WriteLine (&amp;quot;The file name &amp;quot; + FileName +&lt;br /&gt;
                                       &amp;quot; cannot be found&amp;quot;);&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
                else if (e is DirectoryNotFoundException)&lt;br /&gt;
                {&lt;br /&gt;
                    Console.WriteLine (&amp;quot;The path for name &amp;quot; + FileName +&lt;br /&gt;
                                       &amp;quot; cannot be found&amp;quot;);&lt;br /&gt;
                    return;&lt;br /&gt;
                }&lt;br /&gt;
                else if (e is FileLoadException)&lt;br /&gt;
                {&lt;br /&gt;
                    Console.WriteLine (&amp;quot;Cannot read from &amp;quot; + FileName);&lt;br /&gt;
                }&lt;br /&gt;
                reader.Close();&lt;br /&gt;
                strm.Close ();&lt;br /&gt;
            }&lt;br /&gt;
            catch (Exception e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (e.Message);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Exception Handling:Trying and Catching==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
public class TryingCatching&lt;br /&gt;
{&lt;br /&gt;
    static int Zero = 0;&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        // watch for exceptions here&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            int j = 22 / Zero;&lt;br /&gt;
        }&lt;br /&gt;
        // exceptions that occur in try are transferred here&lt;br /&gt;
        catch (Exception e)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;Exception &amp;quot; + e.Message);&lt;br /&gt;
        }&lt;br /&gt;
        Console.WriteLine(&amp;quot;After catch&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Exception Type Mismatch==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// This won&amp;quot;t work! &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
public class ExcTypeMismatch {  &lt;br /&gt;
  public static void Main() {  &lt;br /&gt;
    int[] nums = new int[4];  &lt;br /&gt;
  &lt;br /&gt;
    try {  &lt;br /&gt;
      Console.WriteLine(&amp;quot;Before exception is generated.&amp;quot;); &lt;br /&gt;
  &lt;br /&gt;
      // Generate an index out-of-bounds exception. &lt;br /&gt;
      for(int i=0; i &amp;lt; 10; i++) { &lt;br /&gt;
        nums[i] = i; &lt;br /&gt;
        Console.WriteLine(&amp;quot;nums[{0}]: {1}&amp;quot;, i, nums[i]); &lt;br /&gt;
      } &lt;br /&gt;
 &lt;br /&gt;
      Console.WriteLine(&amp;quot;this won&amp;quot;t be displayed&amp;quot;);  &lt;br /&gt;
    }  &lt;br /&gt;
 &lt;br /&gt;
    /* Can&amp;quot;t catch an array boundary error with a &lt;br /&gt;
       DivideByZeroException. */ &lt;br /&gt;
    catch (DivideByZeroException) {  &lt;br /&gt;
      // catch the exception  &lt;br /&gt;
      Console.WriteLine(&amp;quot;Index out-of-bounds!&amp;quot;);  &lt;br /&gt;
    }  &lt;br /&gt;
    Console.WriteLine(&amp;quot;After catch statement.&amp;quot;);  &lt;br /&gt;
  }  &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handle error gracefully and continue==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Handle error gracefully and continue. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
public class ExcDemo3 { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    int[] numer = { 4, 8, 16, 32, 64, 128 }; &lt;br /&gt;
    int[] denom = { 2, 0, 4, 4, 0, 8 }; &lt;br /&gt;
 &lt;br /&gt;
    for(int i=0; i &amp;lt; numer.Length; i++) { &lt;br /&gt;
      try { &lt;br /&gt;
        Console.WriteLine(numer[i] + &amp;quot; / &amp;quot; + &lt;br /&gt;
                          denom[i] + &amp;quot; is &amp;quot; + &lt;br /&gt;
                          numer[i]/denom[i]); &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;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==illustrates a nested try/catch block==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example13_5.cs illustrates a nested try/catch block;&lt;br /&gt;
  the nested if throws an exception that is propagated to the&lt;br /&gt;
  outer exception&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
public class Example13_5&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      // a nested try and catch block&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
        int[] myArray = new int[2];&lt;br /&gt;
        Console.WriteLine(&amp;quot;Attempting to access an invalid array element&amp;quot;);&lt;br /&gt;
        myArray[2] = 1;  // throws the exception&lt;br /&gt;
      }&lt;br /&gt;
      catch (DivideByZeroException e)&lt;br /&gt;
      {&lt;br /&gt;
        // code that handles a DivideByZeroException&lt;br /&gt;
        Console.WriteLine(&amp;quot;Handling a DivideByZeroException&amp;quot;);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
        Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    catch (IndexOutOfRangeException e)&lt;br /&gt;
    {&lt;br /&gt;
      // code that handles an IndexOutOfRangeException&lt;br /&gt;
      Console.WriteLine(&amp;quot;Handling an IndexOutOfRangeException&amp;quot;);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==illustrates an unhandled exception==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example13_7.cs illustrates an unhandled exception&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
public class Example13_7&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    int[] myArray = new int[2];&lt;br /&gt;
    Console.WriteLine(&amp;quot;Attempting to access an invalid array element&amp;quot;);&lt;br /&gt;
    myArray[2] = 1;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==illustrates exception propagation with methods==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example13_6.cs illustrates exception propagation&lt;br /&gt;
  with methods&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
// declare the ExceptionsTest class&lt;br /&gt;
class ExceptionsTest&lt;br /&gt;
{&lt;br /&gt;
  public void AccessInvalidArrayElement()&lt;br /&gt;
  {&lt;br /&gt;
    int[] myArray = new int[2];&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(&amp;quot;Attempting to access an invalid array element&amp;quot;);&lt;br /&gt;
      myArray[2] = 1;&lt;br /&gt;
    }&lt;br /&gt;
    catch (IndexOutOfRangeException e)&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(&amp;quot;Handling an IndexOutOfRangeException&amp;quot;);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public void DivideByZero()&lt;br /&gt;
  {&lt;br /&gt;
    int zero = 0;&lt;br /&gt;
    Console.WriteLine(&amp;quot;Attempting division by zero&amp;quot;);&lt;br /&gt;
    int myInt = 1 / zero;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Example13_6&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    ExceptionsTest myExceptionsTest = new ExceptionsTest();&lt;br /&gt;
    // call the AccessInvalidArrayElement() method,&lt;br /&gt;
    // this method handles the exception locally&lt;br /&gt;
    Console.WriteLine(&amp;quot;Calling AccessInvalidArrayElement()&amp;quot;);&lt;br /&gt;
    myExceptionsTest.AccessInvalidArrayElement();&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      // call the DivideByZero() method,&lt;br /&gt;
      // this method doesn&amp;quot;t handle the exception locally and&lt;br /&gt;
      // so it must be handled here&lt;br /&gt;
      Console.WriteLine(&amp;quot;Calling DivideByZero()&amp;quot;);&lt;br /&gt;
      myExceptionsTest.DivideByZero();&lt;br /&gt;
    }&lt;br /&gt;
    catch (DivideByZeroException e)&lt;br /&gt;
    {&lt;br /&gt;
      Console.WriteLine(&amp;quot;Handling an IndexOutOfRangeException&amp;quot;);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==illustrates how to handle a specific exception==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example13_3.cs illustrates how to handle a specific exception&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
public class Example13_3&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      int zero = 0;&lt;br /&gt;
      Console.WriteLine(&amp;quot;In try block: attempting division by zero&amp;quot;);&lt;br /&gt;
      int myInt = 1 / zero;  // throws the exception&lt;br /&gt;
    }&lt;br /&gt;
    catch (DivideByZeroException myException)&lt;br /&gt;
    {&lt;br /&gt;
      // code that handles a DivideByZeroException&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + myException.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + myException.StackTrace);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==illustrates multiple catch blocks==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mastering Visual C# .NET&lt;br /&gt;
by Jason Price, Mike Gunderloy&lt;br /&gt;
Publisher: Sybex;&lt;br /&gt;
ISBN: 0782129110&lt;br /&gt;
*/&lt;br /&gt;
/*&lt;br /&gt;
  Example13_4.cs illustrates multiple catch blocks&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
public class Example13_4&lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    try&lt;br /&gt;
    {&lt;br /&gt;
      int[] myArray = new int[2];&lt;br /&gt;
      Console.WriteLine(&amp;quot;Attempting to access an invalid array element&amp;quot;);&lt;br /&gt;
      myArray[2] = 1;&lt;br /&gt;
    }&lt;br /&gt;
    catch (DivideByZeroException e)&lt;br /&gt;
    {&lt;br /&gt;
      // code that handles a DivideByZeroException&lt;br /&gt;
      Console.WriteLine(&amp;quot;Handling a System.DivideByZeroException object&amp;quot;);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
    }&lt;br /&gt;
    catch (IndexOutOfRangeException e)&lt;br /&gt;
    {&lt;br /&gt;
      // code that handles an IndexOutOfRangeException&lt;br /&gt;
      Console.WriteLine(&amp;quot;Handling a System.IndexOutOfRangeException object&amp;quot;);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
    }&lt;br /&gt;
    catch (Exception e)&lt;br /&gt;
    {&lt;br /&gt;
      // code that handles a generic Exception: all other exceptions&lt;br /&gt;
      Console.WriteLine(&amp;quot;Handling a System.Exception object&amp;quot;);&lt;br /&gt;
      Console.WriteLine(&amp;quot;Message = &amp;quot; + e.Message);&lt;br /&gt;
      Console.WriteLine(&amp;quot;StackTrace = &amp;quot; + e.StackTrace);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Passing Exceptions on to the Caller: Caller Confuse==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
A Programmer&amp;quot;s Introduction to C# (Second Edition)&lt;br /&gt;
by Eric Gunnerson&lt;br /&gt;
Publisher: Apress  L.P.&lt;br /&gt;
ISBN: 1-893115-62-3&lt;br /&gt;
*/&lt;br /&gt;
// 04 - Exception Handling\Passing Exceptions on to the Caller\Caller Confuse&lt;br /&gt;
// copyright 2000 Eric Gunnerson&lt;br /&gt;
using System;&lt;br /&gt;
public class CallerConfuse&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Summer summer = new Summer();&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            summer.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;
}&lt;br /&gt;
public class Summer&lt;br /&gt;
{&lt;br /&gt;
    int    sum = 0;&lt;br /&gt;
    int    count = 0;&lt;br /&gt;
    float    average;&lt;br /&gt;
    public void DoAverage()&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            average = sum / count;&lt;br /&gt;
        }&lt;br /&gt;
        catch (DivideByZeroException e)&lt;br /&gt;
        {&lt;br /&gt;
            // do some cleanup here&lt;br /&gt;
            throw;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Passing Exceptions on to the Caller: Caller Inform==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
A Programmer&amp;quot;s Introduction to C# (Second Edition)&lt;br /&gt;
by Eric Gunnerson&lt;br /&gt;
Publisher: Apress  L.P.&lt;br /&gt;
ISBN: 1-893115-62-3&lt;br /&gt;
*/&lt;br /&gt;
// 04 - Exception Handling\Passing Exceptions on to the Caller\Caller Inform&lt;br /&gt;
// copyright 2000 Eric Gunnerson&lt;br /&gt;
using System;&lt;br /&gt;
public class CallerInform&lt;br /&gt;
{&lt;br /&gt;
    public static void Main()&lt;br /&gt;
    {&lt;br /&gt;
        Summer summer = new Summer();&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            summer.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;
}&lt;br /&gt;
public class Summer&lt;br /&gt;
{&lt;br /&gt;
    int    sum = 0;&lt;br /&gt;
    int    count = 0;&lt;br /&gt;
    float    average;&lt;br /&gt;
    public void DoAverage()&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            average = sum / count;&lt;br /&gt;
        }&lt;br /&gt;
        catch (DivideByZeroException e)&lt;br /&gt;
        {&lt;br /&gt;
            // wrap exception in another one,&lt;br /&gt;
            // adding additional context.&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;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Several catch branches==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Learning C# &lt;br /&gt;
by Jesse Liberty&lt;br /&gt;
Publisher: O&amp;quot;Reilly &lt;br /&gt;
ISBN: 0596003765&lt;br /&gt;
*/&lt;br /&gt;
 using System;&lt;br /&gt;
 namespace ExceptionHandling&lt;br /&gt;
 {&lt;br /&gt;
    public class TesterExceptionHandling4&lt;br /&gt;
    {&lt;br /&gt;
       public void Run()&lt;br /&gt;
       {&lt;br /&gt;
           try&lt;br /&gt;
           {&lt;br /&gt;
               double a = 5;&lt;br /&gt;
               double b = 0;&lt;br /&gt;
               Console.WriteLine(&amp;quot;Dividing {0} by {1}...&amp;quot;,a,b);&lt;br /&gt;
               Console.WriteLine (&amp;quot;{0} / {1} = {2}&amp;quot;,&lt;br /&gt;
                   a, b, DoDivide(a,b));&lt;br /&gt;
           }&lt;br /&gt;
               // most derived exception type first&lt;br /&gt;
           catch (System.DivideByZeroException)&lt;br /&gt;
           {&lt;br /&gt;
               Console.WriteLine(&lt;br /&gt;
                   &amp;quot;DivideByZeroException caught!&amp;quot;);&lt;br /&gt;
           }&lt;br /&gt;
           catch (System.ArithmeticException)&lt;br /&gt;
           {&lt;br /&gt;
               Console.WriteLine(&lt;br /&gt;
                   &amp;quot;ArithmeticException caught!&amp;quot;);&lt;br /&gt;
           }&lt;br /&gt;
               // generic exception type last&lt;br /&gt;
           catch&lt;br /&gt;
           {&lt;br /&gt;
               Console.WriteLine(&lt;br /&gt;
                   &amp;quot;Unknown exception caught&amp;quot;);&lt;br /&gt;
           }&lt;br /&gt;
       }&lt;br /&gt;
        // do the division if legal&lt;br /&gt;
        public double DoDivide(double a, double b)&lt;br /&gt;
        {&lt;br /&gt;
            if (b == 0)&lt;br /&gt;
                throw new System.DivideByZeroException();&lt;br /&gt;
            if (a == 0)&lt;br /&gt;
                throw new System.ArithmeticException();&lt;br /&gt;
            return a/b;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;Enter Main...&amp;quot;);&lt;br /&gt;
            TesterExceptionHandling4 t = new TesterExceptionHandling4();&lt;br /&gt;
            t.Run();&lt;br /&gt;
            Console.WriteLine(&amp;quot;Exit Main...&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Throw a format exception purposely to demonstrate catching a FormatException==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Programming Tips &amp;amp; Techniques&lt;br /&gt;
by Charles Wright, Kris Jamsa&lt;br /&gt;
Publisher: Osborne/McGraw-Hill (December 28, 2001)&lt;br /&gt;
ISBN: 0072193794&lt;br /&gt;
*/&lt;br /&gt;
//&lt;br /&gt;
// FormExce.cs -- This program will throw a format exception purposeely&lt;br /&gt;
//                to demonstrate catching a FormatException.&lt;br /&gt;
//&lt;br /&gt;
//                Compile this program with the following command line:&lt;br /&gt;
//                    C:&amp;gt;csc FormExcep.cs&lt;br /&gt;
//&lt;br /&gt;
namespace nsExceptions&lt;br /&gt;
{&lt;br /&gt;
    using System;&lt;br /&gt;
    public class FormExce&lt;br /&gt;
    {&lt;br /&gt;
        static public void Main ()&lt;br /&gt;
        {&lt;br /&gt;
            const double pi = 3.14159;&lt;br /&gt;
            try&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (&amp;quot;pi = {0,0:f5&amp;quot;, pi);&lt;br /&gt;
            }&lt;br /&gt;
            catch (FormatException e)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine (e.Message);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use a nested try block==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Use a nested try block. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
public class NestTrys { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    // Here, numer is longer than denom. &lt;br /&gt;
    int[] numer = { 4, 8, 16, 32, 64, 128, 256, 512 }; &lt;br /&gt;
    int[] denom = { 2, 0, 4, 4, 0, 8 }; &lt;br /&gt;
 &lt;br /&gt;
    try { // outer try &lt;br /&gt;
      for(int i=0; i &amp;lt; numer.Length; i++) { &lt;br /&gt;
        try { // nested try &lt;br /&gt;
          Console.WriteLine(numer[i] + &amp;quot; / &amp;quot; + &lt;br /&gt;
                             denom[i] + &amp;quot; is &amp;quot; + &lt;br /&gt;
                             numer[i]/denom[i]); &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;
      } &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;
      Console.WriteLine(&amp;quot;Fatal error -- program terminated.&amp;quot;); &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use multiple catch statements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Use multiple catch statements. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
public class ExcDemo4 { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    // Here, numer is longer than denom. &lt;br /&gt;
    int[] numer = { 4, 8, 16, 32, 64, 128, 256, 512 }; &lt;br /&gt;
    int[] denom = { 2, 0, 4, 4, 0, 8 }; &lt;br /&gt;
 &lt;br /&gt;
    for(int i=0; i &amp;lt; numer.Length; i++) { &lt;br /&gt;
      try { &lt;br /&gt;
        Console.WriteLine(numer[i] + &amp;quot; / &amp;quot; + &lt;br /&gt;
                           denom[i] + &amp;quot; is &amp;quot; + &lt;br /&gt;
                           numer[i]/denom[i]); &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;
      } &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use the &amp;quot;catch all&amp;quot; catch statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
// Use the &amp;quot;catch all&amp;quot; catch statement. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
 &lt;br /&gt;
public class ExcDemo5 { &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    // Here, numer is longer than denom. &lt;br /&gt;
    int[] numer = { 4, 8, 16, 32, 64, 128, 256, 512 }; &lt;br /&gt;
    int[] denom = { 2, 0, 4, 4, 0, 8 }; &lt;br /&gt;
 &lt;br /&gt;
    for(int i=0; i &amp;lt; numer.Length; i++) { &lt;br /&gt;
      try { &lt;br /&gt;
        Console.WriteLine(numer[i] + &amp;quot; / &amp;quot; + &lt;br /&gt;
                           denom[i] + &amp;quot; is &amp;quot; + &lt;br /&gt;
                           numer[i]/denom[i]); &lt;br /&gt;
      } &lt;br /&gt;
      catch { &lt;br /&gt;
        Console.WriteLine(&amp;quot;Some exception occurred.&amp;quot;); &lt;br /&gt;
      } &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>