【发布时间】:2012-07-31 15:45:27
【问题描述】:
抱歉,如果这是基本的或重复的 - 我先进行了几次搜索,但没有找到任何答案。
如果我做一些基本的事情,比如:
throw exception("This thing didn't work");
在哪里可以看到?该字符串不会显示在输出控制台、堆栈跟踪或与项目关联的任何 .log 文件中。让我想知道为什么如果在任何地方都看不到它,我什至会在那里放一根绳子。我当然可以使用堆栈跟踪来查看它在哪里爆炸,但这首先违背了产生异常的目的。
在 Java 中,当我给它一个字符串时,我会在输出的某处看到该字符串。我只是想知道是否可以在 C++ 中重现这种行为。
【问题讨论】:
-
我觉得在异常被捕获的时候可以看到。除此之外,可能是崩溃转储?
-
您正在捕获异常,是吗?
-
从技术上讲,这是无效的。您正在使用 MS 库中的错误(std::exception 没有采用字符串的构造函数)。但是,如果您更改为
std::runtime_error("This thing didn't work"),您的观点是有效的。