C++ ';当前位置没有可用的源代码;在C+中引发异常时+;Visual Studio

C++ ';当前位置没有可用的源代码;在C+中引发异常时+;Visual Studio,c++,exception,visual-c++,C++,Exception,Visual C++,我在捕获异常时遇到问题。我正在尝试重新引发异常,并收到一条消息: 当前位置没有可用的源代码 代码非常简单: #include <exception> using namespace std; try { throw exception("Asas"); } catch (const exception& e) { cout<< "Error msg" << e.what() << endl; throw; //This

我在捕获异常时遇到问题。我正在尝试重新引发异常,并收到一条消息:

当前位置没有可用的源代码

代码非常简单:

#include <exception>
using namespace std;

try {
    throw exception("Asas");
}
catch (const exception& e) {
   cout<< "Error msg" << e.what() << endl;
   throw; //This the error message I get from the IDE.
}
#包括
使用名称空间std;
试一试{
抛出异常(“Asas”);
}
捕获(常量异常和e){

cout您似乎正在进入重新抛出,并且您可能没有所进入代码部分的源代码。当IDE无法找到当前代码行的源代码时,您将收到这些消息。

您似乎正在进入重新抛出,并且您可能没有所进入代码部分的源代码当IDE无法找到当前代码行的源代码时,您将收到这些消息。

您的问题具有误导性,除了更多的问题外,很难向您反馈任何信息

当您尝试重新刷新时,您会收到这条消息,但不清楚您的意思是什么:这是编译器错误、运行时错误还是调试时出现的错误?如果是后者(我假设是后者),您为什么要调试?抛出的异常是否被捕获?如果是,尝试捕获它的代码是什么

我建议您将问题改为显示一段小而完整的代码(理想情况下是自包含且可编译的),再加上
a)
发生了什么以及
B)
您认为应该发生什么


同时,我能说的是,你引用的错误消息可能意味着你正在运行/调试一些不是从你所看到的代码编译而来的东西。但这和你的问题一样模糊…

你的问题太误导人了,除了更多的问题之外,很难给你任何东西

当您尝试重新刷新时,您会收到这条消息,但不清楚您的意思是什么:这是编译器错误、运行时错误还是调试时出现的错误?如果是后者(我假设是后者),您为什么要调试?抛出的异常是否被捕获?如果是,尝试捕获它的代码是什么

我建议您将问题改为显示一段小而完整的代码(理想情况下是自包含且可编译的),再加上
a)
发生了什么以及
B)
您认为应该发生什么



同时,我所能说的是,您引用的错误消息可能意味着您正在运行/调试一些不是从您所看到的代码编译而来的东西。但这与您的问题一样模糊…

在什么上下文中,您从IDE获得消息?在调试时?您预期的行为是什么?调用它的函数s函数将捕获异常。如果我将e添加到throw中,它似乎工作正常。@roman,但throw e与throw不同,因为最后一个不会创建与第一个类似的另一个对象。在什么上下文中,您从IDE获得消息?调试时?您预期的行为是什么?调用此函数的函数将捕获例外。如果我把e也加到抛出中,它似乎可以工作。@roman,但是抛出e不像抛出,因为最后一个没有像第一个一样创建另一个对象,但这是同一个应用程序。这不是DLL或任何类型的库。@leiz,问题出在抛出中;@Ahmed,这是我说的——他正在进入rethrow或其他什么但这是同一个应用程序。这不是DLL或任何类型的库。@leiz,问题在于抛出;@Ahmed,这就是我所说的——他正在进行重试或其他事情。我很抱歉,这是误导。我在调试时得到的。是的,你是对的,我试着在没有调试的情况下运行它。这有什么区别吗?我如何调试my应用程序?@Roman:我仍然不知道你到底在做什么,发生了什么,以及你预期会发生什么。根据我的建议去编辑你的问题。也许有人会理解发生了什么。事实上,我甚至不确定你在说什么。很抱歉,这是一种误导。我在调试时就知道了。是的,y你是对的,我试着在没有调试的情况下运行它,没问题。为什么会有区别?我如何调试我的应用程序?@Roman:我仍然不知道你到底在做什么,发生了什么,以及你期望发生什么。去根据我的建议编辑你的问题。也许到时候有人会明白发生了什么。事实上,我是我甚至不知道你在说什么。