Mega Code Archive

 
Categories / C# / Language Basics
 

Demonstrates rethrowing an exception from a method

/* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794 */ //  Rethrow.cs -- Demonstrates rethrowing an exception from a method. // //                Compile this program with the following command line: //                    C:>csc Rethrow.cs // namespace nsRethrow {     using System;     using System.IO;          public class Rethrow     {         static public void Main ()         {             while (true)             {                 Console.Write ("Please enter a file name (return to exit): ");                 string FileName = Console.ReadLine ();                 if (FileName.Length == 0)                     break;                 try                 {                     ReadFile (FileName);                     break;                 }                 catch (IOException e)                 {                     if (e is FileNotFoundException)                         Console.WriteLine ("The file " + FileName + " was not found");                 }                 catch (Exception e)                 {                     Console.WriteLine (e.Message + "\n");                     break;                 }             }         }         static public void ReadFile (string FileName)         {             FileStream strm;             StreamReader reader;             try             {                 strm = new FileStream (FileName, FileMode.Open);                 reader = new StreamReader (strm);                 string str = reader.ReadToEnd ();                 Console.WriteLine (str);             }             catch (IOException e)             {                 // If file not found, go back and get another name                 if (e is FileNotFoundException)                     throw (e);                 // Code here to handle other IOException classes                 Console.WriteLine (e.Message);                 throw (new IOException());             }         }     } }