Ada 编程/方面/无返回值
外观
with No_Return
指定 No_Return 方面表示过程不能正常返回;它可能会引发异常,循环永远运行,或终止程序。
非返回过程不能包含任何返回语句。如果非返回过程隐式返回(通过到达其语句序列的末尾),则Program_Error将在调用点引发。
在调用点,这可以检测死代码并抑制关于缺少返回语句或缺少对变量赋值的警告。
procedure
P ( … )with
No_Return;procedure
Q (x :out
… )is
begin
if
Condthen
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 hereend
Q;
No_Return 方面是在 Ada 2012 中引入的。它是[1]对 Ada 2005 中引入的 No_Return [Annotated] [Annotated] 的替代。[Annotated]