我希望在Visual Studio调试器中看到异常细节而不将变量赋值给异常。目前我必须写这样的东西:
try
{
//some code
}
catch (SecurityException ex)
{
//some code or ever no any code
}
Visual Studio抛出一个错误,表明从未使用过ex变量,但是我需要这个变量来查看调试时的异常细节。
更新:我知道如何抑制VS错误'变量永远不会被使用',问题是在没有这个变量的情况下看到内部异常。 @VladimirFrolov的$ exception变量或@MarcGravell的异常助手是一个答案。
答案 0 :(得分:78)
您可以在“本地列表”列表中查看例外情况,也可以在“观察列表”中使用$exception
:
try
{
// some code
}
catch (SecurityException)
{ // place breakpoint at this line
}
答案 1 :(得分:9)
你不需要做任何事情:只需在catch
内放置一个断点(或在catch
上放置一个断点并进入块中),你应该看到一个看到异常助手的邀请。这适用于裸catch
或类型特定的catch(SecurityException)
块:
为您提供一切:
答案 2 :(得分:2)
您可以使用Visual Studio中的功能。
Debug =>例外=>检查“公共语言运行时异常”
就是这样。希望它有所帮助。
答案 3 :(得分:2)
使用
catch (SecurityException /*without variable*/)
{/*break Point*/
//some code or ever no any code
}
或
catch /*without parameter*/
{/*break Point*/
//some code or ever no any code
}
但我认为这就是你的意思
catch (SecurityException ex)
{
MessageBox.Show(ex.ToString()); //for Winforms
Console.WriteLine(ex); //for console
}
答案 4 :(得分:1)
写一下
catch
{//set breakpoint here
}
答案 5 :(得分:0)
为避免收到警告:“在catch语句中声明变量'ex'但从未使用过”,请执行以下操作:
try
{
}
catch (Exception)
{
// set break point
}
或使用System.Diagnostics.Debug.WriteLine()或启用跟踪或调试以使用trace listener。
答案 6 :(得分:0)
在遇到异常时,您可以随时查看监视窗口并添加变量: $ exception 。 这样,您就可以使用所有Exception元数据。