相关疑难解决方法(0)

我什么时候应该使用Debug.Assert()?

我已经是一名专业软件工程师,已经有一年的时间了,已经获得了CS学位.我已经知道C++和C中有一段时间的断言,但直到最近才知道它们在C#和.NET中存在.

我们的生产代码不包含任何断言,我的问题是......

我应该在生产代码中开始使用Asserts吗?如果是这样,它的使用何时最合适?这样做会更有意义吗?

Debug.Assert(val != null);
Run Code Online (Sandbox Code Playgroud)

要么

if ( val == null )
    throw new exception();
Run Code Online (Sandbox Code Playgroud)

language-agnostic testing defensive-programming exception assertions

217
推荐指数
14
解决办法
5万
查看次数

在C#中引发异常的最佳方法是什么?

我传统上部署了一组网页,允许手动验证核心应用程序功能.一个例子是LoggerTest.aspx,它生成并记录测试异常.我总是选择使用类似于以下代码段的方法来引发DivideByZeroException:

try
{
   int zero = 0;
   int result = 100 / zero;
}
catch (DivideByZeroException ex)
{
   LogHelper.Error("TEST EXCEPTION", ex);
}
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但我觉得必须有一个更优雅的解决方案.有没有一种在C#中引发异常的最佳方法?

c# exception

45
推荐指数
4
解决办法
9万
查看次数