当一个整数表达式的值超过为一个特定整数类型分配的范围时引发 ERangeError 异常。
比如下面一段代码应该会引发一个 ERangeError 异常,但是实际测试结果并没有捕获到异常,代码如下:
procedure TForm1.btnCatch2Click(Sender: TObject);
var
  SmallNumber:ShortInt;
  X,Y:Integer;
begin
  try
    X:=100;
    Y:=75;
    SmallNumber := X + Y;
    ShowMessage(IntToStr(SmallNumber));
  except
    on ERangeError do
    ShowMessage('Error');
  end;
end;预计显示结果:弹出Error信息提示框
实际显示结果:-81