跳到内容

Ada 编程/方面/无返回值

来自维基教科书,开放的书籍,开放的世界

Ada. Time-tested, safe and secure.
Ada.经久考验,安全可靠。
with No_Return

指定 No_Return 方面表示过程不能正常返回;它可能会引发异常,循环永远运行,或终止程序。

非返回过程不能包含任何返回语句。如果非返回过程隐式返回(通过到达其语句序列的末尾),则Program_Error将在调用点引发。

在调用点,这可以检测死代码并抑制关于缺少返回语句或缺少对变量赋值的警告。

procedure P ( … ) with No_Return;
procedure Q (x : out … ) is
begin
  if Cond then
    P ( … );
    Some_Thing_Else; -- This is dead code--and due to No_Return probably a compiler warning!
  else
    x := … ;
  end if;
  -- No warning about a missing assignment to x here
end Q;

可移植性

[编辑 | 编辑源代码]

No_Return 方面是在 Ada 2012 中引入的。它是[1]对 Ada 2005 中引入的 No_Return [Annotated] [Annotated] 的替代。[Annotated]

维基教科书

[编辑 | 编辑源代码]

Ada 参考手册

[编辑 | 编辑源代码]

参考文献

[编辑 | 编辑源代码]
  1. AI05-0229
  2. AI95-00329
华夏公益教科书