Demonstrates rethrowing an exception from a method : Exception Throw « Language Basics « C# / C Sharp






Demonstrates rethrowing an exception from a method

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

1.Throwing Your Own Exceptions
2.Intentionally throws an error to demonstrate Just-In-Time debuggingIntentionally throws an error to demonstrate
              Just-In-Time debugging
3.Exception throwsException throws
4.Exception throw and catchException throw and catch
5.Exception throw and catch 2Exception throw and catch 2
6.illustrates creating and throwing an exception objectillustrates creating and throwing an exception object
7.Let the C# runtime system handle the errorLet the C# runtime system handle the error
8.Manually throw an exceptionManually throw an exception
9.Rethrow an exceptionRethrow an exception