Csharp/C Sharp/Language Basics/Exception Stack — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 11:39, 26 мая 2010
Printing the stack trace from the Environment when an exception is not thrown
/*
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);
}
}
}
Print the stack trace when an exception is thrown
/*
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());
}
}
}