Obl*_*obl 1 delphi exception-handling exception delphi-2007
在我们的应用程序中,我们已经为我们所有的需求创建了几个Exceptions类.但现在的问题是,引发的异常对话框总是MessageType mtError,当然mtError还会显示-Icon.
对于我们的一些例外,我更喜欢不那么激进的 Icon/MessageType,例如MessageType mtInformation.
有没有办法直接在Exceptionclass中更改Icon而不会try...except在每次出现时再次提升和捕获它?
您需要自定义顶级异常处理程序.
编写一个事件处理程序并将其附加到Application.OnException.然后,您可以按照自己喜欢的方式处理特定异常.
事件处理程序将如下所示:
procedure TMainForm.ApplicationException(Sender: TObject; E: Exception);
begin
if E is EMyException then
ShowExpectedMessageBox(E)
else
Application.ShowException(E);
end;
Run Code Online (Sandbox Code Playgroud)
显然你必须编写代码ShowExpectedMessageBox.这可以使用您喜欢的任何图标显示消息框.
该onException的当未处理的异常到达消息循环事件被调用.如果您没有事件处理程序,则框架调用Application.ShowException.对于那些没有得到特殊待遇的例外情况,您应该做些什么.
| 归档时间: |
|
| 查看次数: |
200 次 |
| 最近记录: |