以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLCommand异常捕捉BUG  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128066)

--  作者:nblwar
--  发布时间:2018/11/28 10:17:00
--  SQLCommand异常捕捉BUG
Try
    Dim cmd As New SQLCommand
    \'cmd.ConnectionName = Me.ConnectionName
    cmd.CommandText = "raiserror 20001 \'有未审核的配送单\'"
    cmd.ExecuteScalar()
    Return True
Catch ex As Exception
    MessageBox.Show(ex.ToString)
    Return False
End Try

当执行异常时,返回的居然是TRUE,无法捕捉到异常
[此贴子已经被作者于2018/11/28 10:32:06编辑过]

--  作者:nblwar
--  发布时间:2018/11/28 10:44:00
--  
现在怎么搞?
--  作者:nblwar
--  发布时间:2018/11/28 11:40:00
--  
谁来解决下?
--  作者:cbt
--  发布时间:2018/11/28 11:46:00
--  

用  BeforeShowErrorMessage


--  作者:有点甜
--  发布时间:2018/11/28 12:14:00
--  

1、参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=120717&skin=0

 

2、你可以返回特殊的值,判断返回值是否正常


--  作者:nblwar
--  发布时间:2018/11/28 15:01:00
--  
这个不合理,出现异常应该中断代码的执行,而不是弹出类似对话框一样的窗口
--  作者:有点甜
--  发布时间:2018/11/28 15:09:00
--  
以下是引用nblwar在2018/11/28 15:01:00的发言:
这个不合理,出现异常应该中断代码的执行,而不是弹出类似对话框一样的窗口

 

那你去 BeforeShowErrorMessage 处理

 

http://www.foxtable.com/webhelp/scr/2655.htm

 

比如设置 vars("出错") = true

 

然后判断 if vars("出错") = true Then