繁体   English   中英

如何在Visual Studio中调试时强制执行异常?

[英]How to force an exception while debugging in Visual Studio?

我在调试模式下运行我的应用程序,我想手动抛出异常(即不在代码中)。 有没有办法做到这一点?

当然,运行throw new Exception("My forced exception"); 在命令或立即窗口中不起作用。

编辑:我希望异常被我正在调试的代码周围的try-catch语句捕获。

一种可能的方法是在行上断开并在代码路径中的可空变量在其上的操作发生之前手动更改为null 这将导致抛出NullReferenceException

您可以添加类似于的方法:

public static void ThrowAnException(string message)
{
    throw new ApplicationException(message);
}

然后,使用立即窗口,您可以调用ThrowAnException("Whoops")

如果您在单元测试的上下文中运行,并且您希望异常发起的点位于注入的接口或类的后面,则可以创建一个抛出异常的模拟对象。

这样做的好处是,一旦您对复制错误感到高兴,就可以为回归套件构建一个新的单元测试。

在断点时尝试使用即时窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM