delphi新手的异常问题,企盼有java,c++等其它语言经验的高手解答。

xueqianxun80 2005-01-27 11:00:24
最近新接了个项目,使用delphi。我现在对怎么样进行错误的处理很迷惑,看了几本delphi的书。说delphi中如果使用try catch finally这种模式来处理错误,最好是处理系统级别,或者难以预料的错误。对那种可以预料到的逻辑性错误最好是使用判断语句,然后返回错误代码的方式。后者对错误的处理方式更像windows api中的那种,是面向过程程序设计中的通用方法。因为以前一直做java的项目,所以我对错误的处理更偏向于使用exception的机制。现在新用delphi,没有这方面的经验,让我难以取舍,请delphi的同志了给小弟指点一下迷津。最好把你们在delphi项目中错误处理的总体规划说出来向小弟学习一下。谢谢。
...全文
55 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xueqianxun80 2005-01-27
  • 打赏
  • 举报
回复
aiirii。你们做delphi的项目的时候,通常是使用application级别的异常来处理逻辑错误的发生。还是使用errorcode这种方式。恩,我这里的逻辑错误通常是指,比如用户传入的数据参数有错误,这种错误还需要给用户返回有用的错误提示信息。
xueqianxun80 2005-01-27
  • 打赏
  • 举报
回复
aiirii再多说点,拜托。
xueqianxun80 2005-01-27
  • 打赏
  • 举报
回复
我不是提语法上的问题,而是delphi中整体的错误解决方案。
好比一个函数,我输入的参数有逻辑上的错误,这个时候在delphi中是通过抛出一个application级别的异常来出来还是通过传回一个errorcode来处理。

在c语言中是通过errorcode来处理,java中通常是使用提前定义好的application级别的exception来处理。delphi中怎么处理比较好,因为delphi是oo,但不是纯oo。而且主要用于桌面开发,效率很重要。书上讲exception机制会降低效率,可具体降低多少,有经验的同志大概心理有个底吧。我很想得到这方面的建议。
aiirii 2005-01-27
  • 打赏
  • 举报
回复
你接受的是完美的使用方法, 實際中, 有些時候, 你應該控制的, 好象 java 中, 可以盡量讓未确定錯誤向上傳, 但delphi中,似乎, 還是要適當控制!

jinjazz 2005-01-27
  • 打赏
  • 举报
回复
try
//...
except on e:exception do
showmessage(e.Message);
end;
Eastunfail 2005-01-27
  • 打赏
  • 举报
回复
throw new Exception(.........);
等同于
raise Exception.Create(........);

try
{
....
}
catch(Exception1 e)
{
...
}
catch(Exception2 e)
{
.....
}
finally
{
....
}
等同于
try
try
begin
......
end;
except
on E:Exception1 do
begin
......
end;
on E:Exception2 do
begin
......
end;
end;//try
finally
.....
end;//try

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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