Where can I see the what() message from an unhandled std::exception in Visual Studio 2012?
Asked Answered
C

1

20

Is there a way to see the explanatory string from an unhandled exception? I'm using Visual Studio 2012 Express and can't seem to find a way to see it.

When I run the following code:

#include <stdexcept>

int main(int argc, char* argv[])
{
    throw std::runtime_error("warp core breach");
    return 0;
}

all I get in the output window is this:

First-chance exception at 0x7652C41F in vstest.exe: Microsoft C++ exception: std::runtime_error at memory location 0x0015F6A4.
Unhandled exception at at 0x7652C41F in vstest.exe: Microsoft C++ exception: std::runtime_error at memory location 0x0015F6A4.

I would have expected the "warp core breach" message to be printed there. I have all options under Debugging->Output Window->General Output Settings set to On.

Courtesy answered 21/11, 2012 at 17:4 Comment(1)
@Nick Certainly I could catch it, but I just want to know how I can see the message in the case when it's not caught. Surely there must be a way to do so when debugging?Courtesy
S
25

You'll get a window when the exception is thrown with the option to break/continue/ignore. Copy and paste the hex address this dialog reports, then click the break button. Now in a watch window, enter something like: (std::runtime_error*)(0x002cfbc8) into a cell in the first column.

watch window

Skeen answered 21/11, 2012 at 17:43 Comment(1)
isn't there something to do this automatically?Counterinsurgency

© 2022 - 2025 — McMap. All rights reserved.