2009-09-13 2 views
0

私は例外をキャッチする際に問題があります。私は例外を取り返そうとしており、メッセージを受け取ります:'現在の場所で使用できるソースコードがありません。' C++ Visual Studioで例外をスローするとき

現在の場所で使用できるソースコードはありません。

コードは非常に簡単です:

#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. 
} 

私は文字列メッセージを投げて、それを再スローしようとしようとした場合それはまた繰り返されます。

+1

IDEからメッセージはどのようなものですか?デバッグ時? –

+0

あなたの期待された行動は何でしたか? –

+0

この関数を呼び出した関数が例外をキャッチすることを示します。 –

答えて

1

あなたの質問はとても誤解を招いています。何か他の質問を返すことは非常に難しいです。

このメッセージは、あなたが暴行しようとしているときに書いてありますが、意味がはっきりしていません。これはコンパイルエラー、ランタイムエラー、またはデバッグ中のものですか?後者の場合(私が前提とする)、なぜあなたはデバッグしていますか?スローされた例外は捕まえられないのですか?もしそうなら、それを捕まえようとしているコードは何ですか?

私はあなたが代わりに起こるべきだと思うどのようなコードの小さなが、完全な一枚(理想的に自己完結型とコンパイル)プラス何が起こるかA)B)の正確な説明を表示するには、あなたの質問を変更示唆しています。

あなたが引用したエラーメッセージは、あなたが見ているコードからコンパイルされていないものを実行している/デバッグしている可能性があります。しかしそれはあなたの質問と同じくらい漠然としています。

+0

私は誤解を招いて申し訳ありません。 デバッグ時に取得します。 はい、私はそれがOKだったデバッグなしで実行しようとしました。 違いはなぜですか?アプリケーションをデバッグするにはどうすればよいですか? –

+0

@ローマン:私はまだあなたが何をしているのか、何が起こっているのか、代わりに何が起こるのだろうと思っていません。行って、私の提案に従って質問を編集してください。多分誰かが何が起こっているのか理解するでしょう。それがそうであるように、私はあなたが話していることさえも分かりません。 – sbi

2

あなたが再スローに踏み込んでいるようで、あなたが踏んだコードの部分のソースコードがないようです。 IDEが現在のコード行のソースコードを見つけることができない場合、それらのメッセージが表示されます。

+0

しかし、これは同じアプリケーションです。これはDLLやあらゆる種類のライブラリではありません。 –

+0

@leiz、問題はスローです。 –

+0

@Ahmed、それは私が言ったことです - 彼は再登場または何かに足を踏み入れています – leiz

関連する問題