tryraiseexc_exe.dpr
来自「delphi开发语言下的源代码分析」· DPR 代码 · 共 37 行
DPR
37 行
program TryRaiseExc_EXE;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TTryException = class(Exception)
private
FMsgStr : String;
public
constructor Create (const Msg: string);
property MsgStr: String read FMsgStr;
end;
constructor TTryException.Create (const Msg: string);
begin
inherited;
FMsgStr := Msg;
end;
procedure DoSomething; external 'TryRaiseExc_DLL.dll';
procedure TestIt;
begin
try
DoSomething;
except
on E:TTryException do // 1. 这里会混淆EXE与DLL中的TTryException类
Writeln(E.MsgStr); // 2. 这里输出消息时出错(存取非法地址)
end; // 3. 异常处理结束时,将会因错误的释放E.FMsgStr而导致出错
end;
begin
TestIt;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?