gpt4 book ai didi

delphi - 在异常时设置 ErrorCode

转载 作者:行者123 更新时间:2023-12-03 18:07:30 24 4
gpt4 key购买 nike

我需要在异常时包含错误代码。

Exceptions (Delphi)

type EInOutError = class(Exception)
ErrorCode: Integer;
end;

但我不知道如何设置错误代码。我试过:

type ECustomError= class(Exception)
ErrorCode: Integer=129;
end;

但是没有成功,如何设置错误码?

最佳答案

你不能(也不应该)在类的定义中设置它。这里没有关于调用它的位置和原因的上下文。相反,您需要在运行时在可能引发此异常的任何地方分配它。

这可以通过从 EInOutError 派生类并向其添加自定义构造函数来完成:

type 
ECustomError = class(EInOutError)
public
constructor Create(AMsg: String; ACode: Integer); reintroduce;
end;

constructor ECustomError.Create(AMsg: String; ACode: Integer);
begin
inherited Create(AMsg);
ErrorCode := ACode;
end;

然后,当您引发异常时,您可以这样调用它...

raise ECustomError.Create('Some error message', 129);

您可以更进一步,将此代码添加到您的消息中...

constructor ECustomError.Create(AMsg: String; ACode: Integer);
begin
inherited CreateFmt('%s (Error Code %d)', [AMsg, ACode]);
ErrorCode := ACode;
end;

关于delphi - 在异常时设置 ErrorCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43770679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com