C# 如何禁用关于catch块中未使用的异常变量的CS0168警告?
我总是在catch结构中添加一个变量:C# 如何禁用关于catch块中未使用的异常变量的CS0168警告?,c#,visual-studio,C#,Visual Studio,我总是在catch结构中添加一个变量: catch (Exception e) { // ... } 即使我没有在catch块中使用e。 我这样做是因为如果在调试时输入“匿名”捕获,我不知道如何获取异常(及其详细信息) catch { /* ...how to get the exception from here ?... */ } 如果catch块中未使用异常,我将收到CS0168警告:“变量e未使用” 我知道如何全局禁用CS0168(或本地禁用),但我不想这样做,因为它也可能隐
catch (Exception e)
{
// ...
}
即使我没有在catch块中使用e
。
我这样做是因为如果在调试时输入“匿名”捕获,我不知道如何获取异常(及其详细信息)
catch { /* ...how to get the exception from here ?... */ }
如果catch块中未使用异常,我将收到CS0168警告:“变量e未使用”
我知道如何全局禁用CS0168(或本地禁用),但我不想这样做,因为它也可能隐藏有用的消息
我不希望在块中添加伪代码来使用异常,这样它就不会发出警告
我不希望根据参数在catch块中的(非)用法来编辑/删除该参数,而只是为了删除警告
理想情况下,我想知道如何在调试时获取异常实例。如果您只想在调试时在调试器中获取异常实例
catch { /* ...how to get the exception from here ?... */ }
在catch{…}
块中,可以使用
只需打开“监视”窗口并添加$exception
您可以在任何类型的catch
块中使用此伪变量来获取异常的实例。您可以使用#pragma指令,这将禁用警告消息。
您也可以恢复它(如下面的代码),这是明智的
#pragma warning disable CS0168 // The variable 'e' is declared but never used
catch (Exception e)
#pragma warning restore CS0168 // The variable 'e' is declared but never used
{
// ...
}
如果不使用
e
变量,可以将catch写成catch(Exception)
我的问题是突出显示变量以查看其值。在这里使用catch(Exception)没有帮助(除非我遗漏了什么)。伪变量工作得很好,谢谢,但是在本地禁用警告对我来说有点太冗长了。