Foxtable(狐表)用户栏目专家坐堂 → 内部函数如何向上抛出异常


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

主题:内部函数如何向上抛出异常

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


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
内部函数如何向上抛出异常  发帖心情 Post By:2021/1/24 18:23:00 [只看该作者]

蓝老师好,

请问编写的内部函数,不打算在本函数内处理异常,而想主动引发异常,交给上层调用模块的try语句去处理。
该函数内的代码该如何编写呢? 我试了下throw语句,总是不成功。总是在函数内提示错误,而上层却捕捉不到。

我这个应用场景是:  采用数据库事务,集中将分账信息写入总账信息时。每一条总账记录在一个内部函数内通过sql语句执行,但任何一个函数发生错误都必须全部回滚。


谢谢啦 

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105489 积分:536436 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/1/24 21:32:00 [只看该作者]

这种暂时没有办法,函数自己处理了。

换一种方式,在函数内部try,然后通过返回值判断是否出错,比如函数1:

try
执行sql
catch
return false
end try
return true

外部调用
Dim res As Boolean = Functions.Execute("函数1")
if res = false then
回滚操作
end if

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


加好友 发短信
等级:小狐 帖子:302 积分:2069 威望:0 精华:0 注册:2017/11/19 9:46:00
  发帖心情 Post By:2021/1/25 6:12:00 [只看该作者]

好的。非常感谢

 回到顶部