出现异常后程序不执行except后面的语句?(10分)

L

loess

Unregistered / Unconfirmed
GUEST, unregistred user!
我是在测试一个异常处理,但出现异常后程序不执行except后面的语句
那位帮我解释一下?

 多谢!
procedure TForm1.Button1Click(Sender: TObject);
begin
try
ScrollBar1.Max := ScrollBar1.Min - 1;
except
on E:EInvalidOperation do
MessageDlg('Ignoring Exception:',mtInformation,[mbOK],0);
end;
end;
 
这句可能有错,但我不确定,查查书
EInvalidOperation
 
哪里可以找到每个异常类别的意思?
像EInvalidOperation!
 
那你可以看帮助的,这是最好的书,飞思科技的一本书里面也有
 
这名话倒没有错,使用异常类的实例,这应该是可以的
EInvalidOperation 非法异常类,引发的原因有:
1。应用程序试图对一个parent属性为nil的部件进行一些需要Windows句柄的操作。
2。试图一个窗口进行拖放操作。
3。操作违反了部件属性间内置的相互关系。
scrollbar要求Max属性大于等于Min属性。
 
试试 on e: Exception do
 
你是在DELPHI的IDE環境下直接運行程序的吧?
如果是請直接運行你的程序看看,能不能捕獲異常!
 
为什么不能在IDE环境中运行?这是没有道理的。
 
请直接执行exe文件,看有没有except后面的语句。
 
分先给你加上,但你得讲一讲道理。
 
因為在IDE中執行,DELPHI本身會把程序的異常捕獲到(也就說異常被DELPHI攔截了).
這樣你的捕獲異常的程序就無法執行到.
我是這樣理解的,請各位指正.
 
谢谢lzhuan 和bbs-wqt,
lzhuan你在那里?
 
顶部