欢迎来到天天文库
浏览记录
ID:8976694
大小:33.00 KB
页数:2页
时间:2018-04-13
《pb中程序的错误和异常处理方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、PB程序中的错误处理方法PB开发中常会用到一些对错误的处理方法,根据错误的不同,处理方式也不相同。常见的几种错误有系统级错误、数据库错误、数据窗口语法错误 等。1)系统级错误可以通过systemerror事件; 2)数据库错误如果使用嵌入SQL可以通过Transcation属性获得,如果是数据窗口或数据存储可以通过dberror事件获得(要处理数据存储的错误捕捉必须通过继承实现);3)数据窗口语法错误,例如在DataWindow中使用SetFilter和Find函数时如语法错误就会自动弹出语法错误的提示信息,对于此类错误,可以改用DataStore来处理,因为DataStore使用
2、SetFilter和Find函数时语法错误不会自动弹出而是返回-1。以上几种方法都是对一些可以预知的错误的处理,实际开发中还会遇到很多不可预知的情况,会使程序错误,严重的使系统崩溃,停止运行。例如,调用外部控件读取设备的信息,会有很多无法预知的错误,导致程序崩溃。为防止不可预知的异常情况,避免系统崩溃,PB9中提供了处理此类异常的方法:TRY...CATCH...FINALLY...ENDTRY,其语法规则如下:TRY trystatements//这里写自己的程序语法段 CATCH(ThrowableType1exIdentifier1) catchstatements1//发生
3、ThrowableType1异常时的程序处理 CATCH(ThrowableType2exIdentifier2) catchstatements2//发生ThrowableType2异常时的程序处理 ... CATCH(ThrowableTypeNexIdentifierN) catchstatementsN//发生ThrowableTypeN异常时的程序处理 FINALLY cleanupstatements//不论异常发生与否,一定执行的语句放在此处,没有可以不要 ENDTRY下面是一个简单的例子,供参考:Oleobjectlo_connectlo_connect=creat
4、eoleobjectli_rtn=lo_connect.ConnectToNewObject("ADODB.Connection")//lo_connect.ConnectionString=ls_connstringifli_rtn<0then//error//-1InvalidCall:theargumentistheObjectpropertyofacontrol//-2Classnamenotfound//-3Objectcouldnotbecreated//-4Couldnotconnecttoobject//-9Othererrorelsetrylo_connect.C
5、ursorLocation=3lo_connect.ConnectionTimeout=20lo_connect.open(ls_connstring)catch(runtimeerrorerr)//runtimeerror运行时异常的处理catch(throwableerr1)//其他异常的处理ls_err=err1.classname()+','+err1.GetMessage()ifisnull(ls_err)thenls_err=''//messagebox("提示","连接异常!"+"~r~n"+ls_err)st_status.text="连接异常!"+"~r~n"+l
6、s_errreturnendtry
此文档下载收益归作者所有