我需要清除此警告:
try { doSomething() } catch (AmbiguousMatchException MyException) { doSomethingElse() }
编译器告诉我:变量“MyException”已声明但从未使用我该怎么补救。
pbwdgjma1#
1.您可以按如下方式删除它:
try { doSomething() } catch (AmbiguousMatchException) { doSomethingElse() }
1.使用警告禁用如下:
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.
6bc51xsx2#
你为异常声明了一个名字,MyException,但是你从来没有对它做任何事情,因为它没有被使用,编译器会指出它。您可以简单地删除名称。
catch(AmbiguousMatchException) { doSomethingElse(); }
63lcw9qa3#
你可以简单地写:
catch (AmbiguousMatchException)
如果在catch子句中不使用异常名称,则省略异常名称。
stszievb4#
如果你已经运行了一个日志,你可以把异常写出来,这对跟踪任何问题都很有用。
Log.Write("AmbiguousMatchException: {0}", MyException.Message);
watbbzwu5#
问题是,你没有在任何地方使用变量MyException。它被声明了,但是没有被使用。这不是问题......只是编译器给了你一个提示,以防你打算使用它。
MyException
xxhby3vn6#
but never used意味着您应该在catch()之后使用它,例如将其值写入控制台,然后此警告消息将消失。
but never used
catch (AmbiguousMatchException MyException) { Console.WriteLine(MyException); // use it here }
gajydyqb7#
刚刚遇到了这个,异常是基于编译器变量使用的...总之,我的解决办法是:
_ = MyException;
把它捡起来,承认它没有被真正使用。
7条答案
按热度按时间pbwdgjma1#
1.您可以按如下方式删除它:
1.使用警告禁用如下:
其他常见警告禁用
6bc51xsx2#
你为异常声明了一个名字,MyException,但是你从来没有对它做任何事情,因为它没有被使用,编译器会指出它。
您可以简单地删除名称。
63lcw9qa3#
你可以简单地写:
如果在catch子句中不使用异常名称,则省略异常名称。
stszievb4#
如果你已经运行了一个日志,你可以把异常写出来,这对跟踪任何问题都很有用。
watbbzwu5#
问题是,你没有在任何地方使用变量
MyException
。它被声明了,但是没有被使用。这不是问题......只是编译器给了你一个提示,以防你打算使用它。xxhby3vn6#
but never used
意味着您应该在catch()之后使用它,例如将其值写入控制台,然后此警告消息将消失。gajydyqb7#
刚刚遇到了这个,异常是基于编译器变量使用的...
总之,我的解决办法是:
把它捡起来,承认它没有被真正使用。