VS 2015中的基本错误处理

时间:2015-11-13 19:27:38

标签: c++ error-handling visual-studio-2015

我已经无数次使用堆栈溢出,但在我自己教c ++的过程中,我发现是时候注册并成为社区的一部分了。我的问题是关于Bjarne Stroustrup的使用c ++的原理和实践的第5章。书中的例子,以及我在网上找到的讲座幻灯片,显示错误处理如下......

static void Main(string[] args)
{
    var student1 = new Student
    {
        FirstName = "John",
        LastName = "Smith",
        Age = 18,
        DateOfBirth = DateTime.Parse("1989/03/03"),
        Job = new Job
        {
            Company = "CompanyOne",
            Title = "Supervisor"
         },
         PhoneNumbers = new List<PhoneNumber>
         {
            new PhoneNumber
            {
                Number = "8675309",
                Label = "Home"
            },
            new PhoneNumber
            {
                Number = "1234567",
                Label = "Work"
            }
        }
    };
    var student2 = new Student
    {
        FirstName = "Theodore",
        LastName = "Smith",
        Age = 22,
        DateOfBirth = DateTime.Parse("1990/03/03"),
        Job = new Job
        {
            Company = "CompanyOne",
            Title = "Manager"
        },
        PhoneNumbers = new List<PhoneNumber>
        {
            new PhoneNumber
            {
                Number = "8675308",
                Label = "Home"
            },
            new PhoneNumber
            {
                Number = "1234567",
                Label = "Work"
            }
        }
    };

    CompareObjects(student1, student2);
    Console.WriteLine("Done");

    Console.ReadKey();
}

我已经做了很多研究,想想也许这是一个在VS 15中发生变化的语法事物,或者可能是我们创建的书头文件有问题。我得到的错误信息是......

ConsoleApplication5.exe中0x74E5C42D处的未处理异常:Microsoft C ++异常:内存位置0x002CF5E4处的std :: runtime_error。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

std::runtime_error是一个标准例外(有关更多标准例外情况,请参阅this error handling reference)。我的 guess 没有看到error函数就是它抛出std::runtime_error异常。

换句话说,它通常不是VS2015或C ++的特定内容,它只是如何为本书中的示例设计错误处理。