首页 新闻 会员 周边

asp.net三层架构中,如何把DLL层的错误,在UI显示呢

0
悬赏园豆:10 [待解决问题]

需求:我现在是分的三层,想把DLL层的error,能在UI层show出来给user

   能通过什么方式呢,我想到的是try catch,  out输出参数的方式,还有别的方法吗?

         谢谢

        

Peter.zhong的主页 Peter.zhong | 初学一级 | 园豆:117
提问于:2012-12-21 15:52
< >
分享
所有回答(8)
0

具体的错误信息还是有好的错误信息?

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-21 15:58

具体的错误信息  是不是catch到什么就throw给用户什么? 这样的话,估计一般人看不明白把

好的错误信息     是不是指友好的错误提示呢?

支持(0) 反对(0) Peter.zhong | 园豆:117 (初学一级) | 2012-12-21 16:04

@Peter.zhong: 那你还不在你的页面的cs文件中写上一个try catch finally 其他的地方都不用写了,然后就返回这个catch的错误信息给用户。但是如果真的是这样,不友好,一般的都是返回有好的错误信息到页面,然后后台log详细的错误信息,有很多log的比如log4net很多的人都在用。确实不错。

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-12-21 16:09
0

这个你在BLL  方法里面 在Try{}catch{ throw;}-----如果你不Throw的话  它会在BLL层报错。不会在UI这边提示。

在调试的时候 很累人的。。呵呵

然后你在界面后台的cs 这边 也用Try{}catch(Exception ex){

Response.Write("<script>alert('"+ex.Message+"')</script>");

}

在 水 一 方 | 园豆:1097 (小虾三级) | 2012-12-21 16:00

我一般都是在DLL  中 try catch  一旦有catch到的话,就写进了Log里了,但UI层只得到一个比较概括性的提示语。比如:insert 失败的话,我在UI中,只提示“新增失败”,没有具体的失败原因。现在我想在UI中,提示:‘具体的错误原因’。

支持(0) 反对(0) Peter.zhong | 园豆:117 (初学一级) | 2012-12-21 16:08
0

  public void OnCheckError(object sender, CheckErrorEventArgs e) {
            if (CheckError != null)
            {
                CheckError(sender, e);
            }
        }

可以采用事件的方式通知 前台绑定事件就可以了

Dynamic-xia | 园豆:287 (菜鸟二级) | 2012-12-21 16:43
0

不用处理会直接抛到页面上,开发使用多直观

卒子 | 园豆:588 (小虾三级) | 2012-12-21 16:44
0

借用委托或者使用throw,用return你试试。方法好几个,自己尝试去敲敲

伏草惟存 | 园豆:1420 (小虾三级) | 2012-12-21 23:51
0

2楼正解

唯吴独尊 | 园豆:707 (小虾三级) | 2012-12-21 23:59
0

return 这个就可以!

bug_tt | 园豆:234 (菜鸟二级) | 2012-12-22 16:50
0

自定义一个Expection在所有层外。但是调用于所有层内:)

daone | 园豆:273 (菜鸟二级) | 2012-12-28 13:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册