78

この警告をクリアする必要があります:

try
{
    doSomething()
}
catch (AmbiguousMatchException MyException)
{
    doSomethingElse()
}

コンパイラは私に言っています:

変数「MyException」は宣言されていますが、使用されていません

どうすればこれを修正できますか。

4

6 に答える 6

152
  1. 次のように削除できます。

    try
    {
        doSomething()
    }
    catch (AmbiguousMatchException)
    {
        doSomethingElse()
    }
    
  2. 次のように警告を無効にします。

    try
    {
        doSomething()
    }
    #pragma warning disable 0168
    catch (AmbiguousMatchException exception)
    #pragma warning restore 0168
    {
        doSomethingElse()
    }
    

その他おなじみの警告無効

#pragma warning disable 0168 // variable declared but not used.
#pragma warning disable 0219 // variable assigned but not used.
#pragma warning disable 0414 // private field assigned but not used.
于 2011-06-23T14:27:40.857 に答える
42

例外の名前 MyException を宣言しますが、それに対して何もしません。使用されていないため、コンパイラはそれを指摘します。

名前を削除するだけです。

catch(AmbiguousMatchException)
{
   doSomethingElse();
}
于 2011-06-23T14:27:41.793 に答える
28

あなたは簡単に書くことができます:

catch (AmbiguousMatchException)

catch 句で使用しない場合は、例外名を省略します。

于 2011-06-23T14:28:19.297 に答える
3

例外が実行されている場合は、例外をログに書き出すことができます。問題を追跡するのに役立つ場合があります。

Log.Write("AmbiguousMatchException: {0}", MyException.Message);
于 2011-06-23T15:04:08.510 に答える
2

問題は、変数をMyExceptionどこにも使用していないことです。宣言されますが、使用されません。これは問題ではありません...使用する場合に備えて、コンパイラがヒントを提供するだけです。

于 2011-06-23T14:28:30.303 に答える