默认的Application.OnException事件不可以捕捉到raise exception.creat('string')吗? (50分)

  • 主题发起人 主题发起人 henryczh
  • 开始时间 开始时间
H

henryczh

Unregistered / Unconfirmed
GUEST, unregistred user!
在form1定义了:
procedure TForm_ManuImport.MyException(Sender:TObject;E:Exception);
begin
if E is EDBEditError then
showmessage('输入错误!')
else
Application.ShowException(E); {调用缺省的异常处理}
end;
………………
Applicaton.OnException:=MyException;
则在form1中执行语句raise exception.create('abc');时可以弹出异常对话框。
但在其它form中执行该语句则无响应。我仔细测试了一下,发现一定要先打开一下form1,
因为Applicaton.OnException:=MyException;是写在form1.onshow事件里的。
难道默认的Application.onexception事件不可以捕捉到raise exception.creat('string')
所产生的异常吗?
 
默认的Application.onexception事件 是空的。
 
出现你这个问题很正常,因为你的Exception是TForm_ManuImport的一个函数,所以TForm_ManuImport必须得创建。

>>难道默认的Application.onexception事件不可以捕捉到raise exception.creat('string')
如果你没有给Application.OnException赋值,那么Delphi会弹出标准错误处理的。
 
后退
顶部