Printing the stack trace from the Environment when an exception is not thrown

image_pdfimage_print

   
 
/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa

Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/

// EnvTrace.cs -- demonstrates printing the stack trace from the Environment
//                when an exception is not thrown.
//
//                Compile this program with the following command line:
//                    C:>csc /debug:full EnvTrace.cs
using System;
using System.Diagnostics;

namespace nsExceptions
{
    public class EnvTrace
    {
        static public void Main ()
        {
            clsTest test = new clsTest();
            test.TestStackTrace ();
            Console.WriteLine ("
Program completed normally");
        }
    }
    public class clsTest
    {
        public void TestStackTrace ()
        {
            try
            {
                CauseTrouble(1.7);
            }
            catch (Exception e)
            {
                Console.WriteLine (e.StackTrace);
            }
        }
        void CauseTrouble (double val)
        {
            clsAnother nudder = new clsAnother ();
            nudder.MakeProblem ((int) val);
        }
    }
    class clsAnother
    {
        public void MakeProblem (int x)
        {
           Console.WriteLine (Environment.StackTrace); 
        }
    }
}