Jer*_*dge 0 delphi switch-statement
我有一个case语句,它为结果代码计算一个整数(函数的结果),如下所示:
R:= DoSomething;
case R of
0: begin
//Success
end;
1..99: begin
//Specific result messages
end;
100..199: begin
//Other specific result messages
end;
-MAXINT..-1: begin
//Failure
end;
end;
Run Code Online (Sandbox Code Playgroud)
如果失败,则返回表示错误代码的负数.DoSomething是任何返回整数作为响应代码的函数(或错误代码,是负数).如果是错误,它将被传递给另一个错误处理程序.如果它成功,它将被传递给成功处理程序(继续等).正值将由各种特定处理程序处理.
我想知道是否还有另一种写作方式-MAXINT..-1.更像"Anything -1 and under"之类的东西.我试过<=-1但编译器不太喜欢那样.
有没有办法在案例陈述中这样做?
else对所有未处理的结果使用该块,并在该块中区分失败的执行和没有显式处理程序的成功执行(最后一种情况是您在示例代码中似乎没有考虑过的情况).
R:= DoSomething;
case R of
0: begin
//Success
end;
1: begin
// Another success
end
else begin
if R >= 0 then
// Unhandled successful execution error
else
//Failure
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |