
PB中程序的错误和异常处理方法.docx
7页PB中程序的错误和异常处理方法 PB中程序的错误和异样处理方法 本文关键词:异样,错误,程序,方法,PB PB中程序的错误和异样处理方法 本文简介:PB程序中的错误处理方法PB开发中常会用到一些对错误的处理方法,依据错误的不同,处理方式也不一样常见的几种错误有系统级错误、数据库错误、数据窗口语法错误等1〕系统级错误可以通过systemerror事务;2〕数据库错误假如运用嵌入SQL可以通过Transcation属性获得,假如是数据窗口或数据 PB中程序的错误和异样处理方法 本文内容: PB程序中的错误处理方法 PB开发中常会用到一些对错误的处理方法,依据错误的不同,处理方式也不一样 常见的几种错误有系统级错误、数据库错误、数据窗口语法错误 等 1〕系统级错误可以通过systemerror事务; 2〕数据库错误假如运用嵌入SQL可以通过Transcation属性获得,假如是数据窗口或数据存储可以通过dberror事务获得(要处理数据存储的错误捕获必需通过继承实现); 3〕数据窗口语法错误,例如在DataWindow中运用SetFilter和Find函数时如语法错误就会自动弹出语法错误的提示信息,对于此类错误,可以改用DataStore来处理,因为DataStore运用SetFilter和Find函数时语法错误不会自动弹出而是返回-1。
以上几种方法都是对一些可以预知的错误的处理,实际开发中还会遇到许多不行预知的状况,会使程序错误,紧要的使系统崩溃,停顿运行例如,调用外部控件读取设备的信息,会有许多无法预知的错误,导致程序崩溃 为防止不行预知的异样状况,幸免系统崩溃,PB9中供应了处理此类异样的方法: TRY.CATCH.FINALLY.END TRY,其语法规那么如下: TRY trystatements//这里写自己的程序语法段 CATCH ( ThrowableType1 exIdentifier1 ) catchstatements1//发生ThrowableType1异样时的程序处理 CATCH ( ThrowableType2 exIdentifier2 ) catchstatements2//发生ThrowableType2异样时的程序处理 . CATCH ( ThrowableTypeN exIdentifierN ) catchstatementsN//发生ThrowableTypeN异样时的程序处理 FINALLY cleanupstatements//不管异样发生与否,必须执行的语句放在此处,没有可以不要 END TRY 下面是一个简洁的例子,供参考: Oleobject lo_connect lo_connect = create oleobject li_rtn = lo_connect.ConnectToNewObject(“ADODB.Connection“) //lo_connect.ConnectionString=ls_connstring if li_rtn<0 then //error //-1 Invalid Call: the argument is the Object property of a control //-2 Class name not found //-3 Object could not be created //-4 Could not connect to object //-9 Other error else try lo_connect.CursorLocation = 3 lo_connect.ConnectionTimeout = 20 lo_connect.open(ls_connstring) catch (runtimeerror err) // runtimeerror 运行时异样的处理 catch (throwable err1) //其他异样的处理 ls_err=err1.classname()+,+err1.GetMessage() if isnull(ls_err) then ls_err= //messagebox(“提示“,“连接异样!“+“~r~n“+ls_err) st_status.text=“连接异样!“+“~r~n“+ls_err return end try 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第7页 共7页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页第 7 页 共 7 页。












