以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Try Catch 语句无法捕获错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46692) |
-- 作者:yedaoan -- 发布时间:2014/2/27 10:06:00 -- Try Catch 语句无法捕获错误 Try Dim t As Table = e.Form.Controls("Table1").Table If e.Form.Controls("txtZt").Text<>"查看状态" Then t.DataTable.DeleteFor("dwmc is null") t.AllowAddNew=False t.AllowEdit=False t.AllowDelete=False t.DataTable.Save e.Form.Controls("txtZt").Text="查看状态" End If Functions.Execute("ButtonZt") Catch ex As Exception MessageBox.Show("关键字重复或不能为空,请检查!") End Try 出错如下(后台是SQL server) 搜索了论坛 说要用 BeforeShowErrorMessage,这个没有示例,不知道怎么做? |
-- 作者:Bin -- 发布时间:2014/2/27 10:19:00 -- 这类错误要用BeforeShowErrorMessage http://www.foxtable.com/help/topics/2655.htm |
-- 作者:yedaoan -- 发布时间:2014/2/27 10:21:00 -- 上面这个帮助看过了,怎么用?给示例 |
-- 作者:Bin -- 发布时间:2014/2/27 10:23:00 -- 帮助不是介绍得很清楚了吗? 想要跳过所有的话就直接设置 e.cancel=true 想要获得其他属性进行判断是否 跳过也提供了一下属性 Event: 字符型,返回发生错误的事件名称
Message1: 字符型,返回简明错误信息 Message2: 字符型,返回详细错误信息 Cancel: 逻辑型,设为True将禁止系统显示错误信息。 ex: System.Exception类型,返回发生的错误,一般用户不需要使用此参数。 |
-- 作者:yedaoan -- 发布时间:2014/2/27 10:26:00 -- 看不懂 |
-- 作者:Bin -- 发布时间:2014/2/27 10:28:00 -- 你有去看了,有去试了吗? 就一个属性而已. 就一句代码而已. 后面也加上了中文描述. 这,有什么不懂得? 真是难以相信!
|
-- 作者:狐狸爸爸 -- 发布时间:2014/2/27 10:44:00 -- 呵呵,楼主,就是在项目属性中找到这个事件,写上一行代码:
e.cancel = true
如此简单而已,bin在4楼讲述得很清楚了,你先测试一下嘛,直接就说看不懂,难怪bin差点崩溃,因为没办法讲得更清楚了。 |
-- 作者:yedaoan -- 发布时间:2014/2/27 10:50:00 -- bin,就差两个字“项目”,我在窗口里,表里找表半天没有找到,原来在项目里, |
-- 作者:狐狸爸爸 -- 发布时间:2014/2/27 10:53:00 -- 这个事件是捕获所有错误,如果你要单独捕获你一楼的错误,会比较麻烦,估计你的问题也在这里。
捕获特定错误的办法: 变量名 = 0 [此贴子已经被作者于2014-2-27 14:23:03编辑过]
|
-- 作者:yedaoan -- 发布时间:2014/2/27 10:58:00 -- 谢谢狐爸的耐心回答 |