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());
}
}
}
}
Related examples in the same category