UI层调用逻辑层接口发送一些命令。
逻辑层中对一些指针进行判断,发现为null,抛出异常。但是这些指针并不是ui操作的,而是自身在初始化的时候可能代码写的不对,有些对象没有初始化引起异常。
所以如果把异常抛给ui,感觉不应该是ui的事啊,ui根本就不知道有这些指针存在。
这个时候该怎么处理呢。不抛异常给ui,但是ui的指令已经无法正确执行了。不抛的话ui不知道程序出错,还傻乎乎以为好使,实际已经不能执行命令了。
抛出异常给ui,抛什么呢。抛指针为空异常,ui根本不知道哪来的指针,会让ui一头雾水。抛个innererror,还是一头雾水,不知道怎么处理。客户使用这个ui,最好有一个容易让客户接受的方法来处理这个错误。
也就是说,我的程序出错了,还想让客户比较好接受一点。开始想法是不抛异常,记录日志,客户发现程序命令不能执行,但是不知道怎么回事。联系我们,我们去看日志,改程序。另外:一个命令不能执行,有可能可以通过其他命令完成同样的操作。比如。有一组开关,群开功能出现异常,不能执行,但是单开好使。这样客户操作群开发现不能打开开关,就用单开一个一个打开,然后告诉我们群开不好使,然后我们去改程序。大家是怎么在程序中处理程序自身引起的异常的。
逻辑层中对一些指针进行判断,发现为null,抛出异常。但是这些指针并不是ui操作的,而是自身在初始化的时候可能代码写的不对,有些对象没有初始化引起异常。
所以如果把异常抛给ui,感觉不应该是ui的事啊,ui根本就不知道有这些指针存在。
这个时候该怎么处理呢。不抛异常给ui,但是ui的指令已经无法正确执行了。不抛的话ui不知道程序出错,还傻乎乎以为好使,实际已经不能执行命令了。
抛出异常给ui,抛什么呢。抛指针为空异常,ui根本不知道哪来的指针,会让ui一头雾水。抛个innererror,还是一头雾水,不知道怎么处理。客户使用这个ui,最好有一个容易让客户接受的方法来处理这个错误。
也就是说,我的程序出错了,还想让客户比较好接受一点。开始想法是不抛异常,记录日志,客户发现程序命令不能执行,但是不知道怎么回事。联系我们,我们去看日志,改程序。另外:一个命令不能执行,有可能可以通过其他命令完成同样的操作。比如。有一组开关,群开功能出现异常,不能执行,但是单开好使。这样客户操作群开发现不能打开开关,就用单开一个一个打开,然后告诉我们群开不好使,然后我们去改程序。大家是怎么在程序中处理程序自身引起的异常的。
解决方案 »
- rdlc报表ReportEmbeddedResource的名怎么取得
- 用Mutex实现程序单实例运行无效的问题
- 有关Socket.Available的怪异问题,大家快来凑热闹,同时show一下各位的Socket珍藏代码
- 求助,我想用C#写一个windows xp update 的程序,怎么实现?谢谢
- C#如何实现文件头部添加标记
- 高手门 给我支招吧 快来帮忙解决下吧
- 我想用c# 开发一个象button,treeview一样的控件,封状成.dll就行,请教各位
- 请问如何改变datagrid显示的各个列的名称
- (查无结果,比较难)C#。NET中数据按月份来分页
- 怎样实现多个线程监听同一个对象的事件?
- 方法重载引起的“创建窗口句柄时出错。”
- 程序部署问题,大家有没有遇到这样的苦恼
调用OpenAllSwitch的时候就会抛出异常。按理说,这个OpenAllSwitch设计的是void返回型的。对于UI来讲,不应该失败的。但是由于逻辑层自己初始化的时候忘了实例化DataClass,导致出错。UI并不关心你有没有DataClass。
不一定非要抛个什么异常出来。
也不一定非要用系统自己带的功能,实现不了的话就用自己的方式实现。
在可能空引用的地方你先用个if( xx !=null) dosomething else message="...";来记录错误,
你不愿意抛到显示界面可以底层自己写进日志