try..except..end;各位老大,请说一下你们通常的用法,

sduzjw 2003-05-29 03:11:39
我怎么一直感到异常处理都是一团雾水呀,是不是只用这个结构就可以按默认的方式处理掉产生的异常了,也就是说只要发生异常,就能捉到它并处理掉,都两年多了还是不能彻底理解,多谢各位赏光
...全文
109 23 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
sduzjw 2003-05-30
  • 打赏
  • 举报
回复
firetoucher(风焱) ( )多谢 风大哥赏光
whitetiger8 2003-05-30
  • 打赏
  • 举报
回复
天那,都说完了。没说的
firetoucher 2003-05-30
  • 打赏
  • 举报
回复
我觉得你自己理解得差不多,关于具体的用法建议看看书。
sduzjw 2003-05-30
  • 打赏
  • 举报
回复
还想再多得点
sduzjw 2003-05-30
  • 打赏
  • 举报
回复
up
flying79 2003-05-29
  • 打赏
  • 举报
回复
up!
收藏!
hkbarton 2003-05-29
  • 打赏
  • 举报
回复
你 可以用raise抛出异常,用on do 结构捕获异常 如::
try
raise Expection.create('some expection');
except
on Expection do
//do something
end;
tonylk 2003-05-29
  • 打赏
  • 举报
回复
通常情况下,我只用try。。finally。。来处理一些变量的释放问题,不常用try。。。except。。。,而是将异常留给vcl的默认处理过程来显示错误对话框,
除非有特殊情况,那就像mosan(亮)说的那样,普活自己关心的异常类型,做特殊的处理。
而比较大型的程序,则会像IwantFlay(我很爱她!!!!!!!!!!)说的那样,用自己的函数代替vcl的默认处理过程,并将异常内容记录到log文件上。
joky1981 2003-05-29
  • 打赏
  • 举报
回复
例如:

var
i: Integer;
begin
try
i:= StrToInt(Edit1.Text);
except
ShowMessage('Edit1中的数据不是整型!');
end;
end;
mosan 2003-05-29
  • 打赏
  • 举报
回复
如下:
1 .异常保护:
{分配资源}
try
{资源使用情况}
finally
{释放资源} //finally后面的代码在任何情况下都会执行
end;
2 .异常响应:
try
{要执行的操作}
except //except后的代码只有异常时才执行
{异常是响应的代码}
end;

(1) 提供缺省响应:
try
{程序正常功能}
except
on ESomething do
{响应特定的异常}
else
{提供缺省响应}
end;
(2)响应一族异常:
例如:
try
{整数运算}
except
on ERangeError do
{越界处理}
on EIntError do
{其他整数异常处理}
end;
3. 还可以自定义异常对象类
.....
joky1981 2003-05-29
  • 打赏
  • 举报
回复
try
可能产生异常的代码部分
except
解决异常的代码
end;
sduzjw 2003-05-29
  • 打赏
  • 举报
回复
up
demonwinwin 2003-05-29
  • 打赏
  • 举报
回复
我也只知道那楼上们说的。不过有些异常好像不能except,可能是delphi不把他当做异常吧。
ehom 2003-05-29
  • 打赏
  • 举报
回复
我认为帮助中已经说的足够明白了
timelyraining 2003-05-29
  • 打赏
  • 举报
回复
两年都没弄懂!!!
你真的喜欢写程序吗????
setfocus 2003-05-29
  • 打赏
  • 举报
回复
我理解也不透彻,只能从我个人理解方面谈谈:我觉得这个结构按着书上的意思就是异常处理!它的目的是在程序段中如果存在可能潜在的错误(操作错误,系统错误等),为了让程序能继续运行下去,所以要用异常判断解决。只要在try ..except中的任何一句存在异常,那么都会跳转到处理语句!
jjpan 2003-05-29
  • 打赏
  • 举报
回复
try
(正常运行)
except
(出现异常提示)
end;
lion_lh 2003-05-29
  • 打赏
  • 举报
回复
try
//可能产生异常的代码
.
.如果发生异常转去执行except部分的代码,不继续执行后面的语句了
.
except
发生异常,需执行的代码,可不写
end;
yoisyois 2003-05-29
  • 打赏
  • 举报
回复
灌水~~~
Hank 2003-05-29
  • 打赏
  • 举报
回复
处理数据
try
StrToFloat(Edit1.Text);
except
ShowMessage('必须输入数字');
Edit1.SetFocus;
end;
加载更多回复(3)

5,927

社区成员

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

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