P
PowerDelphi
Unregistered / Unconfirmed
GUEST, unregistred user!
大家好:
; ;我有一个关于异常处理的问题向各位请教:
; ;FORM1有一控件DRIVECOMBOBOX1,当我选择A:时引发了EINOUTERROR异常,我想自己处理这个异常,于是我有下代码:
procedure TForm1.DriveComboBox1Change(Sender: TObject);
begin
; try
; except
; ; on E:EInOutError do
; ; MessageDlg('设备尚未准备好,请重试',mtError,[mbCancel],0);
; end;
end;
但处理并未成功,并未弹出我想要的MESSAGEDLG对话框,于是屏蔽上述事件句柄,又有另一种处理方法:
首先在FORM1的私有域中声明以下过程:
procedure DoWithException(Sender:TObject;E:Exception);
实现部分如下:
begin
; try
; except
; on E:EInOutError do
; showmesssage('设备尚未准备好');
;end;
end;
然后在FORM1的oncreate事件句柄中有如下代码:
application.onexception:=DoWithException;
程序运行但什么异常提示也没有,于是在DoWithException实现部分只留下MessageDlg一句,成功(得到了“设备尚未准备好”的对话框)!请问是什么地方错了导致前次异常处理失败?请指教!!!
我想根据异常的类型来做相应的处理,该怎样做?例如发生Einouterror时,我想DO SOMETHING1;当触法
EOUTOFMEMORY异常时DO SOMETHING2……,请各位大侠帮忙,多谢!!!
; ;我有一个关于异常处理的问题向各位请教:
; ;FORM1有一控件DRIVECOMBOBOX1,当我选择A:时引发了EINOUTERROR异常,我想自己处理这个异常,于是我有下代码:
procedure TForm1.DriveComboBox1Change(Sender: TObject);
begin
; try
; except
; ; on E:EInOutError do
; ; MessageDlg('设备尚未准备好,请重试',mtError,[mbCancel],0);
; end;
end;
但处理并未成功,并未弹出我想要的MESSAGEDLG对话框,于是屏蔽上述事件句柄,又有另一种处理方法:
首先在FORM1的私有域中声明以下过程:
procedure DoWithException(Sender:TObject;E:Exception);
实现部分如下:
begin
; try
; except
; on E:EInOutError do
; showmesssage('设备尚未准备好');
;end;
end;
然后在FORM1的oncreate事件句柄中有如下代码:
application.onexception:=DoWithException;
程序运行但什么异常提示也没有,于是在DoWithException实现部分只留下MessageDlg一句,成功(得到了“设备尚未准备好”的对话框)!请问是什么地方错了导致前次异常处理失败?请指教!!!
我想根据异常的类型来做相应的处理,该怎样做?例如发生Einouterror时,我想DO SOMETHING1;当触法
EOUTOFMEMORY异常时DO SOMETHING2……,请各位大侠帮忙,多谢!!!