程序出错时出现Line=-1提示.退出
当程序出错时出现Line=-1提示后直接退出,有些时候(如对数据库操作类型不对或调用其它OBJ时)就会出现这个情况
而且无法获取ERROR错误返回值
http://www.autoitx.com/attachment.php?aid=2640&k=43de312479caf3a4c63dd4c988f3f44b&t=1235049120&noupdate=yes
[ 本帖最后由 auto 于 2009-2-20 20:55 编辑 ] 为什么你们都不设置错误报告呢?
把下面这段代码加入到你的代码里。
Global $Err=ObjEvent("AutoIt.Error","ODBCJET_ErroHandler")
Func ODBCJET_ErroHandler()
Local $err_msg
$err_msg = "SQL Error - " & $Err.Number & @TAB & "SOURCE: " & $Err.Source & @TAB & "DESC: " & $Err.Description
Msgbox(0, default, $err_msg)
Local $err1 = $Err.number
If $err1 = 0 Then $err1 = -1
SetError($Err)
EndFunc ; ==> ODBCJET_ErroHandler()
[ 本帖最后由 xinlu8439 于 2009-2-19 21:56 编辑 ] 嗯 帮助里有 但是很多人都没注意到 原来用这个函数....ObjEvent
--------------------------------------------------------------------------------
包含一个已经得到的Object(对象)的事件句柄.
翻译成中文是这样:face (13): . 平时没注意这个函数
OK THX 看来有点类似于定时检查AUTOIT创建的com的错误值,如果出错则调用容错子程序 AUTOIT3操作数据库,如果执行的SQL语句中有问题,如数据类型与数据库类型不一致也会出现这样的错误,又如何获取错误代码 原帖由 auto 于 2009-2-19 22:46 发表 http://www.autoitx.com/images/common/back.gif
AUTOIT3操作数据库,如果执行的SQL语句中有问题,如数据类型与数据库类型不一致也会出现这样的错误,又如何获取错误代码
上面我给的代码就可以获取SQL的语句错误,通常在SOURCE那里 试试看...ObjEvent 不只是捕获OBJ错误吗?还可能获取数据库操作的错误
貌似没有用OBJ....
有时候修改数据库结构或字段改变会引起这样的问题.
算是解决...THX 原来操作数据库自定义UDF函数里面也使用了OBJ..
OK 这个个好,解决了大问题。
推荐。 回复 2# xinlu8439
很好,看到了.
页:
[1]