我知道如何在delphi中捕获异常(try..except / finally和e.message)但我想知道是否存在可以引发异常的异常处理机制以及引发它的例程的名称.通过例子
procedure/function bla();//this can be in a unit/class begin code.... an error is raised here -> inside or not of an try-except/finally block end;
我将收到一条消息/对象/任何指示我’bla’中出现错误’x’的内容.
我知道关于madexcept,有另一种方法来捕捉异常吗?
我正在使用Delphi 7.解决方案也可能适用于其他Delphi版本.
解决方法
您可以使用JclDebug.pas单元中的ProcByLevel函数,它是
JCL库的一部分.
在使用之前,您必须从Ide Menu工具 – > jcl选项中激活“将JDBG数据插入二进制文件”选项.
然后你可以这样使用它
Uses JclDebug; procedure TForm18.Button1Click(Sender: TObject); begin try raise Exception.Create('Hello from '+ProcByLevel(0)); except on e : Exception do ShowMessage(e.Message); end; end;
结果是这样的