I need to clear this warning :
try
{
doSomething()
}
catch (AmbiguousMatchException MyException)
{
doSomethingElse()
}
The complier is telling me :
The variable 'MyException' is declared but never used
How can I fix this.
I need to clear this warning :
try
{
doSomething()
}
catch (AmbiguousMatchException MyException)
{
doSomethingElse()
}
The complier is telling me :
The variable 'MyException' is declared but never used
How can I fix this.
You can remove it like this:
try
{
doSomething()
}
catch (AmbiguousMatchException)
{
doSomethingElse()
}
Use warning disable like this:
try
{
doSomething()
}
#pragma warning disable 0168
catch (AmbiguousMatchException exception)
#pragma warning restore 0168
{
doSomethingElse()
}
Other familiar warning disable
#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.
You declare a name for the exception, MyException, but you never do anything with it. Since it's not used, the compiler points it out.
You can simply remove the name.
catch(AmbiguousMatchException)
{
doSomethingElse();
}
You can simply write:
catch (AmbiguousMatchException)
and omit the exception name if you won't be using it in the catch clause.
You could write the exception out to a log if you've got one running. Might be useful for tracking down any problems.
Log.Write("AmbiguousMatchException: {0}", MyException.Message);
The trouble is, you aren't using your variable MyException
anywhere. It gets declared, but isn't used. This isn't a problem... just the compiler giving you a hint in case you intended to use it.
but never used
means that you should use it after catch() such as writing its value to console, then this warning message will disappear.
catch (AmbiguousMatchException MyException)
{
Console.WriteLine(MyException); // use it here
}
Just ran into this, where the exception was used based upon compiler variables...
Anyway, my solution was:
_ = MyException;
Picks it up as used, acknowledges that it isn't really being used.
© 2022 - 2024 — McMap. All rights reserved.