Foxtable(狐表)用户栏目专家坐堂 → 关于捕获异常错误


  共有4498人关注过本帖树形打印复制链接

主题:关于捕获异常错误

帅哥哟,离线,有人找我吗?
yankunhao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
关于捕获异常错误  发帖心情 Post By: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
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2013/9/9 11:58:00 [显示全部帖子]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2013/9/9 14:56:00 [显示全部帖子]

以下是引用Bin在2013-9-9 14:51:00的发言:
e.Message1 和e.Message2 可以弹出具体的错误.

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


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2013/9/9 15:07:00 [显示全部帖子]

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


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


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2013/9/9 15:29:00 [显示全部帖子]

以下是引用Bin在2013-9-9 15:08:00的发言:
你也可以这样判断

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

Dim s As String =e.Event
If s = "" Then
 MessageBox.Show(e.Message2)
    If e.Message2.Contains("INSERT 失败.") Then
        MessageBox.Show("保存失败!产品标配编号及产品标配名称不能为空!请按规范输入标配编号及名称!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
   End If
End If

 

现在,我用这样的代码也没有提我要的信息,不知是什么原因?


 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2013/9/9 15:40:00 [显示全部帖子]

以下是引用Bin在2013-9-9 15:29:00的发言:
根据你的截图,你报错的是 UPDATE 失败     


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

 

这是我现在用MessageBox.Show(e.Message2)提示的信息的,而原来那张图是系统本来提示的.

 

经测试无论如何去做都行不通,难道这是FB的BUG?

[此贴子已经被作者于2013-9-9 15:56:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2013/9/9 16:05:00 [显示全部帖子]

经测试无论如何去做都行不通,难道这是FB的BUG?

 回到顶部
帅哥哟,离线,有人找我吗?
yankunhao
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1033 积分:7258 威望:0 精华:0 注册:2008/9/1 22:34:00
  发帖心情 Post By:2013/9/9 16:24:00 [显示全部帖子]

以下是引用Bin在2013-9-9 16:08:00的发言:
像是13楼这种错误,应该是不能捕捉的.只有你前面发的那种错误才可以哦.  你注意看下弹出的窗口是不一样的.

真搞不明,那代码应该如何写才能捕捉呢?难道要捕捉一个错误都这么的嘛烦?

我现在这样写也行不通:

 

Dim s As String =e.Event
If s = "" Then
 MessageBox.Show(e.Message1)
    If e.Message1.Contains("INSERT 失败.") Then
        MessageBox.Show("保存失败!产品标配编号及产品标配名称不能为空!请按规范输入标配编号及名称!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
   End If
End If

[此贴子已经被作者于2013-9-9 16:26:40编辑过]

 回到顶部