吴
吴剑明
Unregistered / Unconfirmed
GUEST, unregistred user!
老板安排一个工作,要求在一个大的系统里(用DELPHI)做的,实现一个自定义的ERROR类。
这个类的功能是: 在程序出现任何错误时,都会跳到这个地方,显示错误信息。并相应的
实现相关的排错。出现“取消、重试、帮助”的对话框。并且错误处理用一个类统一管理。
本以为这个问题简直是小儿科,就一口答应了下来。谁知写起来,却出了一头汗。
“取消,帮助” 两个还好说,我用了TAPPLICATIONEVENT 实现了对错误的统一管理。但是
那个“重试”却无法实现!!
老板是用CLIPPER数据库的,用那种语言,因为是解析型的,所以当发生错误时,能够
自动在该错误行停下,实现对该行的“重试”。但是DELPHI呢,编译型的语言怎么知道是那
行出了错啊?
1......
2......
3.....
发生错误,调用TApplicationEvent的OnException事件。可是到底是1错了,
还是2错了? 3错了? 就算知道了,又如何实现对该行来个“重试”?
不能简单的来个GOTO到子程序头,在重头执行一次。这样可能造成其他错误!!
所以啊,我没法解决啦。问了好几个软件公司的高手朋友,都解决不了。说是“受语言限制
无法实现要求” :(
只好来请教大家了。
<font size= 5> 老板说,要是解决不了,以后就不许用DELPHI了。。。</font>
这个类的功能是: 在程序出现任何错误时,都会跳到这个地方,显示错误信息。并相应的
实现相关的排错。出现“取消、重试、帮助”的对话框。并且错误处理用一个类统一管理。
本以为这个问题简直是小儿科,就一口答应了下来。谁知写起来,却出了一头汗。
“取消,帮助” 两个还好说,我用了TAPPLICATIONEVENT 实现了对错误的统一管理。但是
那个“重试”却无法实现!!
老板是用CLIPPER数据库的,用那种语言,因为是解析型的,所以当发生错误时,能够
自动在该错误行停下,实现对该行的“重试”。但是DELPHI呢,编译型的语言怎么知道是那
行出了错啊?
1......
2......
3.....
发生错误,调用TApplicationEvent的OnException事件。可是到底是1错了,
还是2错了? 3错了? 就算知道了,又如何实现对该行来个“重试”?
不能简单的来个GOTO到子程序头,在重头执行一次。这样可能造成其他错误!!
所以啊,我没法解决啦。问了好几个软件公司的高手朋友,都解决不了。说是“受语言限制
无法实现要求” :(
只好来请教大家了。
<font size= 5> 老板说,要是解决不了,以后就不许用DELPHI了。。。</font>