当前位置: 代码迷 >> C# >> 把类中的错误信息显示到窗体,或者弹出
  详细解决方案

把类中的错误信息显示到窗体,或者弹出

热度:163   发布时间:2016-05-05 05:21:13.0
把类中的异常信息显示到窗体,或者弹出
就是例如在dal层有个错误,比如说是数据库未连接等等信息,如何让他在窗体弹出呢??
------解决思路----------------------
公布一个委托(自定义事件),让dal的调用者注册这个事件,出错时触发
------解决思路----------------------
catch(exception ex)
{
messagebox.show(ex.message,"异常提示");
}

你是想这样么?而不是抛出异常。
------解决思路----------------------
类里做个信息变量,每次有错误就返回给这个变量
而调用函数则直接读取该变量
------解决思路----------------------
自定义返回类型,bool isSuccess ,string errorinfo ,有异常了异常给errorinfo,到view层了,判断isSuccess的状态就是了
------解决思路----------------------
DAL里别乱加try,catch,或者在catch里使用throw ex;就把它抛出了
不过一般都不这样做
一般应该判断错误类型,然后返回个错误编号,再给用户提示相应的内容
而不是直接把错误代码和行号丢给用户看,用户看不懂,也不知道该如何解决

你应该在调试的时候去掉try,catch,而在运行的时候抛给用户大体的错误和解决办法,而不是详细的错误信息
------解决思路----------------------
你可以写
Application.Current.DispatcherUnhandledException += App_DispatcherUnhandledException;
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;


在事件处理方法中,写例如:

            var ex = e.Exception;
            if (ex != null)
                Application.Current.Dispatcher.BeginInvoke(new Action(() =>
                {
                    MessageBox.Show(ex.Message, "操作异常", MessageBoxButton.OK);
                }));


等等。