以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何将ft中运行出现的错误返回前端?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180263)

--  作者:happyft
--  发布时间:2022/10/11 11:32:00
--  如何将ft中运行出现的错误返回前端?
foxtable后端的保存函数代码如下:
Try
    cmd.BeginTransaction() \'开始事务
    For Each sql As String In SqlList
        cmd.CommandText = sql
        cmd.ExecuteNonQuery()
    Next
    
    cmd.Commit()  \'提交事务
    sqlList.Clear()  \'清空集合
    Return "OK"
Catch ex As Exception
    cmd.Rollback()  \'回滚事务
    msgbox(ex.tostring)      \'返回错误信息
    sqlList.Clear()  \'清空集合
    Return "NG"
End Try

上面蓝色代码用msgbox显示错误信息在foxtabel的项目中是可以

但现在是通过手机端访问点击保存时调用上面的函数保存,若后端出现错误,要如何将这个错误信息返回给手机端呢?
Dim jo As new JObject
If Functions.Execute("System_sqlSave",sqlList) = "OK" Then  \'执行事务保存
        jo("rel") = "ok"
        e.WriteString(jo.ToString)
Else
    jo("rel") = "ng"
    e.WriteString(jo.ToString)
    Exit Function
End If
即上面捕捉到的错误要如何在上面红色的这段把错误信息返回手机端呢?

谢谢!

--  作者:有点蓝
--  发布时间:2022/10/11 11:43:00
--  
Catch ex As Exception
    cmd.Rollback()  \'回滚事务
    sqlList.Clear()  \'清空集合
    Return "NG|" & ex.tostring
End Try

……

Dim jo As new JObject
dim ret as string = Functions.Execute("System_sqlSave",sqlList)
If  ret = "OK" Then  \'执行事务保存
        jo("rel") = "ok"
        e.WriteString(jo.ToString)
Else
    jo("rel") = "ng"
    jo("错误提示") = ret
    e.WriteString(jo.ToString)
    Exit Function
End If

--  作者:HappyFt
--  发布时间:2022/10/11 14:10:00
--  
谢谢!可以了