我传统上部署了一组网页,允许手动验证核心应用程序功能.一个例子是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#中引发异常的最佳方法?
Gal*_*boy 73
try
{
throw new DivideByZeroException();
}
catch (DivideByZeroException ex)
{
LogHelper.Error("TEST EXCEPTION", ex);
}
Run Code Online (Sandbox Code Playgroud)
Jes*_*kan 29
简短回答:
throw new Exception("Test Exception");
Run Code Online (Sandbox Code Playgroud)
你会需要
using System;
Run Code Online (Sandbox Code Playgroud)
为测试目的构建自定义异常?然后,您可以通过异常处理/日志记录过程添加您希望异常随身携带的任何自定义属性...
[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
}
Run Code Online (Sandbox Code Playgroud)
在你的班上
try
{
throw new TestException();
}
catch( TestException eX)
{
LogHelper.Error("TEST EXCEPTION", eX);
}
Run Code Online (Sandbox Code Playgroud)
try
{
string a="asd";
int s = Convert.ToInt32(a);
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
它将返回异常“输入字符串的格式不正确。”
归档时间: |
|
查看次数: |
85064 次 |
最近记录: |