【发布时间】:2014-01-13 00:39:20
【问题描述】:
这来自一本书,但不会在我的 Visual Studio 2010 中使用正确的消息进行调试,它只会在 throw new ApplicationException("Smth. bad happened", e); 处给我未处理的异常
书中有错误还是我的VS2010异常设置可能?控制台输出应该显示如果文件不存在,内部和外部跟踪将与未找到文件一起打印。它与即时调试有关吗?
当前输出:未处理的异常............................................................ …………
所需输出:http://www.introprogramming.info/wp-content/uploads/2013/07/clip_image008.png
class program
{
static void Main()
{
try
{
string fileName = "WrongFileName.txt";
ReadFile(fileName);
}
catch (Exception e)
{
throw new ApplicationException("Smth. bad happened", e);
}
}
static void ReadFile(string fileName)
{
TextReader reader = new StreamReader(fileName);
string line = reader.ReadLine();
Console.WriteLine(line);
reader.Close();
}
}
【问题讨论】:
-
您需要了解编译失败的代码和运行失败的代码之间的区别。它编译,它不应该运行。
-
我使用了错误的术语 - 它无法使用正确的控制台输出正确编译。因此,如果您能帮助我获得正确的输出 Unhandled Exception: Exception1: Msg1 ---> Exception2: Msg2 而不是只有异常,我将不胜感激。
-
我的代码无法输出消息 - 很明显,出于教育目的存在未处理的异常。我的目标不是编译,而是显示书中所示的内部堆栈跟踪。
标签: c# visual-studio exception-handling