以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于捕获异常错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40088)

--  作者:yankunhao
--  发布时间:2013/9/9 11:35:00
--  关于捕获异常错误

Try
    DataTables("cpcbsj").Save
Catch ex As Exception
   
    MessageBox.Show("保存过程出现问题!当前表中还有新增的产品标配编号及产品标配名称是空白的!请按规范输入标配编号及名称!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
   
End Try

 

在窗口中有个按钮控件,单击的事件代码如上面所示,目的是当保存当前表的数据时,如果发现保存代码有异常错误就能提示MessageBox.Show中的信息,但我测试时不能按目的提示,系统却提示如下的错误信息,请问为什么会这样?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130909111224.jpg
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2013/9/9 11:38:00
--  
类似于这些错误,要在这个事件里捕捉才可以 http://www.foxtable.com/help/topics/2655.htm
--  作者:yankunhao
--  发布时间:2013/9/9 11:58:00
--  
以下是引用Bin在2013-9-9 11:38:00的发言:
类似于这些错误,要在这个事件里捕捉才可以 http://www.foxtable.com/help/topics/2655.htm

查看了,不过对在这个事件中设置还不是很明白如何做,请问像我这个情况要在这个事件中设定的话,应该如何才能达到目的呢?能否详细一点说明?


--  作者:Bin
--  发布时间:2013/9/9 12:04:00
--  
如果你是想直接不显示错误提示,那么直接设置 e.Cancel=true 即可

帮助描述已经很清楚了,如果无法理解,可以动手试试设置一个每个属性,测试一下结果.这样可能会比较直观!

--  作者:yankunhao
--  发布时间:2013/9/9 14:48:00
--  
以下是引用Bin在2013-9-9 12:04:00的发言:
如果你是想直接不显示错误提示,那么直接设置 e.Cancel=true 即可

帮助描述已经很清楚了,如果无法理解,可以动手试试设置一个每个属性,测试一下结果.这样可能会比较直观!

我如果直接设置 e.Cancel=tru,是不会提示那个错误了,但如何提示我想要的信息呢?也试过设置想返回e.Event的内容,比如代码如下(Dim s As String =e.Event
MessageBox.Show(s)
)但都不成功,返回的是空白的,真的不知这个事件是如何使用的.

[此贴子已经被作者于2013-9-9 14:52:51编辑过]

--  作者:Bin
--  发布时间:2013/9/9 14:51:00
--  
e.Message1 和e.Message2 可以弹出具体的错误.
--  作者:yankunhao
--  发布时间:2013/9/9 14:56:00
--  
以下是引用Bin在2013-9-9 14:51:00的发言:
e.Message1 和e.Message2 可以弹出具体的错误.

问题是系统里有那么多的事件,可能每个事件都会有机会出错的,我要如何去判定是哪一个事件出错,然后弹出具体的错误?


--  作者:Bin
--  发布时间:2013/9/9 15:02:00
--  
可以根据e.Event 内容来判断啊. 有些错误 e.Event 是空白的因为抓取不到是哪个事件报错的.



--  作者:yankunhao
--  发布时间:2013/9/9 15:07:00
--  
以下是引用Bin在2013-9-9 15:02:00的发言:
可以根据e.Event 内容来判断啊. 有些错误 e.Event 是空白的因为抓取不到是哪个事件报错的.


我现在就是e.Event 返回空白,那请问这个事件就不能实现我所想目的了?


--  作者:Bin
--  发布时间:2013/9/9 15:08:00
--  
你也可以这样判断

先判断e.Event 为空,再判断e.Message1是否包含错误信息的关键词. 这样来判断是否这个错误.