2012-03-16 11 views
1

私はそうのようなcatchブロックを試し書きしたいと多くの時間を取り除く方法:は、特定の警告メッセージ

try 
{ 
    // do stuff 
} 
catch (Exception ex) 
{ 

} 

通常、私は未使用の変数を持っていることを私に言って警告メッセージを表示したいです。しかし、この場合、私はそこに置いて、それを目的に使用しないでください(私はvb6/.net interopコードを実行し、エラーを無視することができますが、 vb6に添付されているide)。

は、私は特に言う警告メッセージを取り除くことができ方法はありますか:

「変数 『EX』を宣言したが、使用されることはありませんか」?

私は未使用の変数に関する警告をすべて取り除かなければならない、あるいは私が見たくないものと一緒に暮らす必要があると思っていますが、尋ねるのが害ではないと思いました。

答えて

2

#pragma warningを使用すると、コードに警告を表示できません。詳細については、hereを参照してください。

+0

ありがとうございました。私はそれについて考えましたが、この警告を完全に消したくはありません...この特定のシナリオだけです。私は "var SupressWarningMessage = ex;"というコード行を含めて解決しました。 –

+0

@BrandonMoore:警告を1行でのみ無効にしたい場合は、プラグマで警告を無効にして、別のプラグマで警告を戻すことができます。 –

+0

本当ですが、それは醜いので、それを変数に代入するより多くの型付けが必要です。しかし、それは正しいのであなたの答えに印を付けました:) –

0

警告メッセージを明確に取り除く方法はありますか?

Visual Studio開発環境で設定するコンパイラオプション

  1. は、プロジェクトのプロパティページ]ダイアログボックスを開きます。
  2. [ビルド]プロパティページをクリックします。
  3. 警告レベルのプロパティを変更します。
+0

「特に警告メッセージを取り除いてください」ではなく、「特定の警告メッセージを取り除いてください」。そこに意味のわずかな違いがあります:) –

0

単純にその変数を定義していない(名前だけタイプ):

try { 
    // ... 
} 
catch (Exception) { 
    // ... 
} 

はちょうどあなたが単にやっているものに応じて、実際にそれらについて何もせずに例外を「落とす」ことに注意してください可能性が悪いデザインとみなされる。

+0

ポイントは私がデバッグしているときに私は例外についての情報を見たいと思います。私がそれを保持するための変数を提供していない場合、私はそれを認識できません。 –

+0

ああ、大丈夫です。その場合、プリプロセッサのものがおそらく最良の解決策になるでしょう。 'catch()'ブロック内で唯一の行として 'ex;'を使ってみることもできますが、C#で実行可能か可能かどうかは分かりません(C++でしか使われていません)。 – Mario

+0

それはうまくいくとは思わないが、私はすぐにそれを試してみるだろう。それまでの間、私は "var SuppressWarningMessage = ex;"と書いて次善のことをしました。それは仕事をして、私はそれが他の誰かがそれを読むことがそれが目的であることを理解するのに十分記述的だと思う。 –