以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  try 错误处理问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79546)

--  作者:santde
--  发布时间:2016/1/4 16:48:00
--  try 错误处理问题
try

    Functions.Execute("deltablerow",e)

Catch ex As Exception  \'如果数据不能导出
  
   代码二   
 
End try

再调用函数时如果 函数出现问题有报错 想用这种方式处理,怎么处理不了

--  作者:大红袍
--  发布时间:2016/1/4 18:02:00
--  

呃,foxtable并不会抛出所有的错误,自己吞掉和处理的。

 

你去这里弄 http://www.foxtable.com/help/topics/2655.htm

 


--  作者:santde
--  发布时间:2016/1/4 18:30:00
--  
为啥就不能用
On Error Resume Next 
类VB的直接处理模式了,全部转到显示错误信息处处理不方便了
try

    Functions.Execute("deltablerow",e)

Catch ex As Exception  \'如果数据不能导出
  
   代码二   
 
End try
或者让这种结构也能捕捉错误信息。


如果函数体是一个单个功能代码的话,还好说,将TRY结构放到函数体中去
但如果函数中再调用函数则不好处理了
能及时捕捉错误信息,即时处理不

--  作者:santde
--  发布时间:2016/1/4 18:59:00
--  

在BeforeShowErrorMessage 事件中写有如下三句代码

msgbox(e.Event)
msgbox(e.Message1)
msgbox(e.Message2)
e.Cancel = True

但该 报错时还是报错,没有以上三句代码的任何起作用的效果
为保?

--  作者:大红袍
--  发布时间:2016/1/4 19:22:00
--  

1、直接红色交叉的错误,可以用try catch捕捉;

 

2、其余的,只能用 BeforeShowErrorMessage ;

 

3、还有一些是foxtable自己吞掉的,无法捕捉。


--  作者:santde
--  发布时间:2016/1/4 19:24:00
--  
在BeforeShowErrorMessage 事件中写有如下三句代码

msgbox(e.Event)
msgbox(e.Message1)
msgbox(e.Message2)
vars("ERR") = true
e.Cancel = True
这三句没反应
或者说我不让系统报任何错误如何写,我只要知道vars("ERR") = true有错就行

--  作者:大红袍
--  发布时间:2016/1/4 20:06:00
--  
弹出的是什么错误?截图看看。
--  作者:santde
--  发布时间:2016/1/4 20:23:00
--  

此主题相关图片如下:qq图片20160104202107.png
按此在新窗口浏览图片

像这种错误

1、直接红色交叉的错误,可以用try catch捕捉;

 拦截不了

2、其余的,只能用 BeforeShowErrorMessage ;


该 事件 已设置成:

msgbox(e.Event)

msgbox(e.Message1)

msgbox(e.Message2)

vars("ERRBB") = "程序运行出现了错误,请注意1"

e.Cancel = True

Return


这也没有该 出现的效果




--  作者:大红袍
--  发布时间:2016/1/4 20:26:00
--  
这不是系统报的错,而是foxtable自己的提示。
[此贴子已经被作者于2016/1/4 20:30:52编辑过]

--  作者:santde
--  发布时间:2016/1/4 20:27:00
--  
类似的错误 就不能处理