急啊!有请PB高手--如何截获程序错误?

DOU 2000-02-28 09:57:00
公司用pb为客户开发一系统,客户测试要求很高,现遇到一问题,求教于各位高手。

环境:WinNT4.0+sp5 WorkStation,PowerBuilder6.5

在 - Button Click 事件中调用远程Oralce的一存储过程,如果在click之前或之中将网线断开,NT 弹出一错误框,说‘ 有一错误发生在pb6.exe', 然后终止powerbuiler。按理说此时应有一错误被PowerBuilder 捕获,然后由程序处理,我如何才能Trap住PB的此类错误呢?
Thanks in advance!
...全文
201 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostlee 2000-03-01
  • 打赏
  • 举报
回复
如果问题出在网络层怎么办?
radish 2000-02-28
  • 打赏
  • 举报
回复
先检测连接是否正常,SQLCA.SQLCODE 及SQLCA.SQLDBCODE也应在每次执行SQL时检查
929 2000-02-28
  • 打赏
  • 举报
回复
不知能否解决问题,在PB中提供了一个事件来捕获系统中引用外部对象出错这样的错误。它是SYSTEMERROR事件,在这个事件中可对系统发生的一些严重事件进行处理。另外,如果想保证与数据库连接正常,我想常常测试一下SQLCA.SQLCODE是有必要的。
losed 2000-02-28
  • 打赏
  • 举报
回复
加一层类似中间件的东西试试
radish 2000-02-28
  • 打赏
  • 举报
回复
tray check sqlca.connected
DOU 2000-02-28
  • 打赏
  • 举报
回复
谢谢两位!
根据两位指导又试了试,发现执行select语句,网络断开时,是可以从sqlca.sqlcode判断是否出错的,而在执行存贮过程时,若网络断开,这条语句执行不下去,操作系统直接报出system illegal operation 错误。SYSTEMERROR事件没有触发,也无法检查SQLCA.SQLCODE。

暂时采取了类似radish的方法,先执行一无用的select语句,用以检测连接是否正常
若正常再执行存贮过程,类似下面代码:

select sysdate into :systate from dual;
if sqlca.sqlcode<>0 then
messagebox("Error","some err msg")
return
end if

execute sp_verify_pin;

if sqlca.sqlcode<>0 then
messagebox("Error","another err msg")
end if

此法可避免绝大部分此类错误,只是感觉,解决方法不彻底,不知是否还有更好的方法?
1. 什么是量产工具,有何作用?量是指批量的意思,即量产工具可以一次性生产出很多U盘,只要你的USB孔足够。   量产工具是针对U盘主控芯片进行操作的由厂商开发的低层软件,作用:   1)低格U盘   2)生产加密盘,启用加密功能(仅支持在第一个分区)   3)分区,可以生产只读分区,更改U盘介质类型(removabel 和 fixed)   4)量产出USB-CDROM,此作用可以做启动光盘(仅支持在第一个分区)   5)修改厂商等信息,制作个性化U盘(比如一插上U盘,右下角就显示"某某的U盘"或其他自设的内容)这点也常被黑心厂商利用来修改假冒U盘.   量产工具的英文简写是MP Tool,更详细一点是Mass Production Tool,表示大量生产的工具软件   2. 读卡器所组成的U盘能量产出CDROM吗?   不能,也许以后会有这样的读卡器。   3.移动硬盘能量产吗?   目前不能,芯邦在搞,据说明年会出来。   如果真出来这样的工具,CD\DVD销量可能要大大下降了。   4.所有U盘都能量产吗?   应该是的,就看有没有合适的量产工具放出。主控厂商肯定都有的。   5.如何判断U盘主控 ?   1) 用芯片精灵(ChipGenius)软件来检测   2) 最准确方法-拆盘,看主控芯片(一般是正方形较小的那块)上刻的型号.   6. 什么量产工具最好用?   都差不多,就看熟不熟练。   7. 使用量产工具要注意什么?   1)不要怕,大胆的弄,U盘不会坏的。   2)量产也有经常出错的时候,如U盘变成8M,再次进行。   8. 量产出的CD-ROM最大可以是多大?   不同版本,牌子不一样,我的4G的ICREATE的可以量产出1G多点。这个技术指标开发商不透露。   现在有些主控已经可以量产DVD了,可以达到4G   9. 量产工具版本越高越好吗?   不一定,还要看是不是支持你的U盘的类型。   10. 量产出的CDROM启动兼容性、速度怎样?   新主板几乎都可以,老主板有的USB-HDD或USB-ZIP都不行,但CDROM可以;如果主板支持USB2.0且打开“high speed”,U盘也支持USB2.0这个启动速度是很快的,用来安装WinXP就是一例   11. 不同的量产工具为什么不能通用?   主要区别在于不同厂家的主控芯片都有其保密的指令与函数,没法通用。   12. 为什么有的CDROM要以启动2次才可以成功   这个,有高手研究,说到这里,涉及到了BIOS内容,不同BIOS的处理情况不一样,我们这里没有这样的专家。当年BINBIN等CRACK VISTA的时候,BIOS专家出面,解决了不少问题,当然是针对AWARD的,至于AMI的,还没有这样的公开程序。如果从BIOS层面解决对 USBCDROM的识别问题,就太好了。   13. 从哪里可以得到量产工具?   1)从U盘厂家网站,一般主控开发商都给他们主控的。   2)从数码之家网站下载,更新很快,相当齐全   3)搜索网络,包括网络和这里   4)打电话或发EMAIL要   14. MP3、MP4等设备可以做启动盘吗?   硬件基本差不多,都可以的。一般只能做USB-HDD启动   15. 量产成CDROM后,剩余空间怎么用?   剩余空间会被识别成为一个独立的U盘,可以做成fixed盘,进一步分区;也可以为removable盘。剩余空间可以用来作启动,也可以当成普通U盘储存文件.   16. 量产工具可以在VISTA下运行吗?   可以   17. 如果测试量产出的CDROM成功了?   好多人量产完成后用几台机器试都无法启动,怎样确定是否成功呢?很简单,用虚拟机,启机时选择CDROM先启动就可以了,如果成功则量产没有问题   18. 关于CDROM的一个启动问题   碰到一个主板,首次USBCDROM启动没有问题,可是第二次,就不行了,停止了,说什么没有系统。解决方法就是在BIOS的BOOT顺序时重新设置USBCDROM为第一启动,保存一下BIOS   19.为什么量产工具不认U盘或量产时出错.   如插上去量产软件中没反应,或显示"下载代码时发现错误".有可能是量产工具与U盘主控不对应,建议拆开U盘看主控型号,重新下对应的量产工具.   如显示"闪存ID不符合" 之类的错误,建议下载更新版本含有新出闪存代码的量产工具.   20. 量产失败,无法用软件补救怎么办?   接到电脑上短接Flash芯片(一般是第29和第30引脚)直到电脑认出.   用专用工具修复

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧