Foxtable(狐表)用户栏目专家坐堂 → try catch问题


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

主题:try catch问题

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


加好友 发短信
等级:幼狐 帖子:127 积分:1463 威望:0 精华:0 注册:2014/10/15 11:39:00
try catch问题  发帖心情 Post By:2014/12/10 21:14:00 [只看该作者]

使用场景,自定义录入界面四中。点击新增客户按钮后,打开客户录入窗体。这个时候不做录入操作,直接关闭窗口。
代码:
e.Form.DropDownBox.CloseDropdown(False)
Dim r As Row = Tables("Tb_CusInfo").AddNew()
Forms("客户资料").Open()
Try
      MessageBox.Show("1")
      r.Save()
      MessageBox.Show("2")
      Dim tbl As Table = Tables("客户筛选_tbCus")
Catch ex As Exception
      MessageBox.Show("3")
End Try

由于字段不能为空的约束导致r.Save()中插入异常。

理论上输出为:1,3(r.Save()后面的代码不能执行)
实际上输出为:1,2(r.Save()后面代码执行了)

也就是说,Try Catch 没有起作用。
在论坛上也看到过类似问题的帖子,但是没有明确解答。

请问,对于r.Save这种保存,Try Catch如何使用?
      
以上,谢谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/10 21:16:00 [只看该作者]

 try Catch 不能捕捉 save 的错误。

 

 而且 save 的错是不能捕捉的,你应该在代码中检测是否符合在save


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


加好友 发短信
等级:幼狐 帖子:127 积分:1463 威望:0 精华:0 注册:2014/10/15 11:39:00
  发帖心情 Post By:2014/12/10 23:03:00 [只看该作者]

3Q 目前是这样处理的。

狐表中,Try Catch 哪些异常是可以捕获,而哪些是不能捕获的?

以上,谢谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/11 9:02:00 [只看该作者]

try Catch 可以捕捉一些常规性的错误,但是跟表相关的错误,都不能捕捉。

 回到顶部