Mega Code Archive

 
Categories / C# / Language Basics
 

Exception handle with finally

/* Learning C#  by Jesse Liberty Publisher: O'Reilly  ISBN: 0596003765 */  using System;  namespace ExceptionHandling  {     public class TesterExceptionHandling6     {        public void Run()        {            try            {                Console.WriteLine("Open file here");                double a = 12;                double b = 0;                Console.WriteLine ("{0} / {1} = {2}",                    a, b, DoDivide(a,b));                Console.WriteLine (                    "This line may or may not print");            }                // most derived exception type first            catch (System.DivideByZeroException e)            {                Console.WriteLine(                    "\nDivideByZeroException! Msg: {0}",                    e.Message);                Console.WriteLine(                    "\nHelpLink: {0}", e.HelpLink);                Console.WriteLine(                    "\nHere's a stack trace: {0}\n",                    e.StackTrace);            }            catch            {                Console.WriteLine(                    "Unknown exception caught");            }            finally            {                Console.WriteLine (                    "Close file here.");            }        }         // do the division if legal         public double DoDivide(double a, double b)         {             if (b == 0)             {                 DivideByZeroException e =                     new DivideByZeroException();                 e.HelpLink =                     "http://www.libertyassociates.com";                 throw e;             }             if (a == 0)                 throw new ArithmeticException();             return a/b;         }         static void Main()         {             Console.WriteLine("Enter Main...");             TesterExceptionHandling6 t = new TesterExceptionHandling6();             t.Run();             Console.WriteLine("Exit Main...");         }     }  }