三层结构看了些但里面的错误处理很少,所以对这方面比较想了解一下。最好能深入些比如:如果不是致命的错误,则提示详细的错误信息 如果是可以忽略的错误,则继续执行。 如果涉及到数据安全的,则终止执行。呵呵~~顶着有分
解决方案 »
- 请问 amcharts中的 柱形图 y轴的值,怎么赋值
- 在aspx.cs页面对控件进行了扩展,在aspx页面中如何调用扩展后的控件?
- 大家在建立对象实体类文件时都用的是什么工具或方法
- 设置打印时出现浏览器禁用ActiveX控件的问题?
- <a 标记的onclick事件可以执行服务器端代码吗
- SqlDataSource InsertParameters问题
- 如何实现鼠标一放出现提示,但提示是要显示两行的?
- vs.net 2003 如何防止自动修改和生成不必要的style
- 界面问题
- icyer,高手请进,在线等待
- 请来指点一下(类反射工厂,泛型接口,三层架构,缓存机制),随便谈谈,谢谢
- 数据绑定时 格式化的内容
{}
catch
{}
中进行处理
一般严谨的程序,都是先判断输入的准确性,然后进行处理
如果不是常见的错误,在catch中,我们一般都是直接catch{throw;}直接丢给ASP.NET的错误页面
引言:
在Data层(不算作三层中的一层)
:定义一个错误消息管理的类(有错误消息,错误级别(警告,错误)等等),如ErrMsg.附:
因为Data层贯穿三层,所以在三层中都可以操作ErrMsg.具体操作如下:
一个功能开始,定义一ErrMsg对象,当作参数传给功能方法,如果功能方法中捕捉到异常或其它逻辑错误都将错误消息给ErrMsg对象,并将ErrMsg返回到界面层,显示ErrMsg的错误消息.
(其中根据错误级别,来判断是否要返回到前台界面显示)
protected void Application_Error(Object sender, EventArgs e)方法.
加入自己的错误处理机制
Exception exception = ctx.Server.GetLastError ();
if(exception is XXX类型Exception )
{
...
}
{}
catch()
{}
finall
{}
在加上一个错误页面.
ok!
{}
catch()
{}
finall
{}
在加上一个错误页面.
ok!
try
{}
catch(Exception e)
{
//如果方法1有错误
if(e.TargetSite.Name.ToUpper() == "方法1")
{}
//如果方法2有错误
if(e.TargetSite.Name.ToUpper() == "方法2")
{}
//如果方法3有错误
if(e.TargetSite.Name.ToUpper() == "方法3")
{}}
finall
{}
在业务逻辑层,获取从DB层返回的int类型的值,来判断DB是否有异常或者执行是否成功,再做一个返回bool类型值的方法,同时也做个捕获异常的方法。
try
catch
就行啊。
无论操作是什么结果,你都可以返回一个值(自己指定的)
用返回来的值在逻辑层做判断不就的了。开发的时候语句要是写错了,自己单步调试能调出来吧。
交付给用户用的时候try catch finall也就没有什么用了吧(因为逻辑层能根据值得做逻辑判断)
在说了,finall也不是什么很好的阿。无论有没有错误这里面的语句都要执行的吧。
为了捕获一个错误而且是自己在开发过程中的错误,感觉太浪费资源了。
(以上我在存储过程里把对数据库的操作状态都返回来了,在BLL层做的判断)
个人观点!
thorw(e);
}
UI进行处理
{
}
catch
{
}