Csharp/C Sharp/Language Basics/Exception Stack
Printing the stack trace from the Environment when an exception is not thrown
<source lang="csharp"> /* 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 ("\r\nProgram 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); } }
}
</source>
Print the stack trace when an exception is thrown
<source lang="csharp"> /* C# Programming Tips & Techniques by Charles Wright, Kris Jamsa Publisher: Osborne/McGraw-Hill (December 28, 2001) ISBN: 0072193794
- /
// StakTrce.cs -- demonstrates printing the stack trace when an // exception is thrown. // // Compile this program with the following command line: // C:>csc /debug:full StakTrce.cs using System; namespace nsExceptions {
public class StakTrce { static public void Main () { clsTest test = new clsTest(); test.TestStackTrace (); } } 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) { throw (new Exception()); } }
}
</source>