我想在我的代码中禁用特定的警告(W1035),因为我认为编译器对此警告是错误的:
function TfrmNagScreen.Run: TOption; begin if ShowModal = mrOk then Result := TOption(rdgAction.EditValue) else Abort end;
没有办法结果不明确,因为Abort抛出EAbort.
我试过了:
> {$WARN 1035 Off}:显然这仅适用于某些特定错误(参见Documentation)
> {$W-1035}:根本没有
我知道我可以在项目选项中关闭全局警告,或使用{$WARNINGS OFF},但这不是这里的意图.
编辑:我现在QC07这个#89744.
解决方法
您不能全局禁用此警告,但您可以使用{$WARN NO_RETVAL OFF}在本地禁用警告.
{$WARN NO_RETVAL OFF} function TfrmNagScreen.Run: TOption; begin if ShowModal = mrOk then Result := TOption(rdgAction.EditValue) else Abort end; {$WARN NO_RETVAL ON}