高手救命阿,谁知道DELPHI里的EOleException是怎么使用的?

7thstar 2003-06-14 06:26:05
我想用EOleException来捕捉Oracle的异常,是通过ADO来连接Oracle数据库的,诸位达人救命阿
...全文
442 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimmygump 2003-08-05
  • 打赏
  • 举报
回复
可以下载 ADO ErrorCode 一览表,但仅供参考:
http://download.microsoft.com/download/ado/Errors/1.0/WIN98Me/EN-US/oledberr.exe

怎么说仅供参考呢?我发现很多错误讯息(E.Message) 是共享一个错误代码 (E.ErrorCode) 的,想用 if E.ErrorCode=xxx 或是 case E.ErroeCode of 做出明确的判断,那真是没辄。所以就算有了 ErrorCode 一览表,估计用处不大。还是从 E.Message 着手做判断吧。

这方面的处理,我的痛苦指数仍然相当高,怎么说相当高呢?我想应该是管理架构的问题:

> 有 application level 的:
自己在 main form 可以挂个 handler 给 Application.OnException。这个 handler 我主要用来决定整个系统要继续 (显示最丑的、最原始的错误信息),还是要停了 (Terminate)。

> 有 Form Level 的:
放个 TApplicationEvents,在 Form.OnActivate 用 TApplicationEvents.Activate 把它接收 exception 的优先权拉到第一个。在 TApplicationEvents.OnException 中,能处理就处理,处理完就 CancelDispatch 一下。不能处理则 re-raise。

> procedure/function Level 的:就用 try except else 区块了,能处理的用on E: SomeKnownException do 处理,处理完再 Exit、Abort、..自己决定流程。不能处理的放在 else 往外层 re-raise。

这是管理学的问题,管理的权限要下放到什么层级?那得看各层有没有能力可以处理。目前我写的应用系统在这方面也很杂乱,自己看了都郁闷...你们都怎么搞定的?分享一下吧

johnma 2003-06-14
  • 打赏
  • 举报
回复
OleException有ErrorCode每个ErrorCode对应不同的错误,具体你看ms的文档吧
Northwindrocker 2003-06-14
  • 打赏
  • 举报
回复
同情你先吃饭吧这里还是有高手的,不过是可遇不可求跟美女样的!
7thstar 2003-06-14
  • 打赏
  • 举报
回复
诸位高手,小弟我是饿着肚子在等待回答阿,肚子饿死了
7thstar 2003-06-14
  • 打赏
  • 举报
回复
高手呢???

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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