找回密码
 加入
搜索
查看: 3376|回复: 10

程序出错时出现Line=-1提示.退出

[复制链接]
发表于 2009-2-19 21:27:32 | 显示全部楼层 |阅读模式
当程序出错时出现Line=-1提示后直接退出,
有些时候(如对数据库操作类型不对或调用其它OBJ时)就会出现这个情况
而且无法获取ERROR错误返回值


[ 本帖最后由 auto 于 2009-2-20 20:55 编辑 ]
发表于 2009-2-19 21:55:02 | 显示全部楼层
为什么你们都不设置错误报告呢?
把下面这段代码加入到你的代码里。

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 编辑 ]
发表于 2009-2-19 22:07:26 | 显示全部楼层
嗯 帮助里有 但是很多人都没注意到
 楼主| 发表于 2009-2-19 22:40:19 | 显示全部楼层
原来用这个函数....ObjEvent
--------------------------------------------------------------------------------

包含一个已经得到的Object(对象)的事件句柄.
翻译成中文是这样 . 平时没注意这个函数

OK THX
 楼主| 发表于 2009-2-19 22:42:34 | 显示全部楼层
看来有点类似于定时检查AUTOIT创建的com的错误值,如果出错则调用容错子程序
 楼主| 发表于 2009-2-19 22:46:40 | 显示全部楼层
AUTOIT3操作数据库,如果执行的SQL语句中有问题,如数据类型与数据库类型不一致也会出现这样的错误,又如何获取错误代码
发表于 2009-2-19 23:46:01 | 显示全部楼层
原帖由 auto 于 2009-2-19 22:46 发表
AUTOIT3操作数据库,如果执行的SQL语句中有问题,如数据类型与数据库类型不一致也会出现这样的错误,又如何获取错误代码


上面我给的代码就可以获取SQL的语句错误,通常在SOURCE那里
 楼主| 发表于 2009-2-20 20:54:58 | 显示全部楼层
试试看...ObjEvent 不只是捕获OBJ错误吗?还可能获取数据库操作的错误
貌似没有用OBJ....
有时候修改数据库结构或字段改变会引起这样的问题.
算是解决...THX
 楼主| 发表于 2009-2-20 21:06:06 | 显示全部楼层
原来操作数据库自定义UDF函数里面也使用了OBJ..
OK
发表于 2009-11-12 21:38:00 | 显示全部楼层
这个个好,解决了大问题。
推荐。
发表于 2013-10-19 21:12:30 | 显示全部楼层
回复 2# xinlu8439
很好,看到了.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 10:42 , Processed in 0.071594 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表