我传统上部署了一组网页,允许手动验证核心应用程序功能.一个例子是LoggerTest.aspx,它生成并记录测试异常.我总是选择使用类似于以下代码段的方法来引发DivideByZeroException:
try { int zero = 0; int result = 100 / zero; } catch (DivideByZeroException ex) { LogHelper.Error("TEST EXCEPTION", ex); }
代码工作正常,但我觉得必须有一个更优雅的解决方案.有没有一种在C#中引发异常的最佳方法?
try { throw new DivideByZeroException(); } catch (DivideByZeroException ex) { LogHelper.Error("TEST EXCEPTION", ex); }
简短回答:
throw new Exception("Test Exception");
你会需要
using System;
为测试目的构建自定义异常?然后,您可以通过异常处理/日志记录过程添加您希望异常随身携带的任何自定义属性...
[Serializable] public class TestException: ApplicationException { public TestException(string Message, Exception innerException): base(Message,innerException) {} public TestException(string Message) : base(Message) {} public TestException() {} #region Serializeable Code public TestException(SerializationInfo info, StreamingContext context): base(info, context) { } #endregion Serializeable Code }
在你的班上
try { throw new TestException(); } catch( TestException eX) { LogHelper.Error("TEST EXCEPTION", eX); }