Почему эта ошибка не обнаруживается?

У меня есть программа, которая имитирует броски игральных костей и сравнивает их со значениями на диаграмме (набор строковых списков). В настоящее время я получаю значение из TEdit. Если поле пусто, возникает ошибка EConvertError, которая должна быть перехвачена моим оператором Try / Except, но это не так. Мысли и советы? Код ниже, Delphi 7.

try
  //Shooting
  if ShootingRadio.Checked then
    BS := StrToInt(Edit1.Text);
  Randomize;
  Roll := RandomRange(1,7);
  Label3.Caption := IntToStr(Roll);
  if (Roll < StrToInt(ShootingHitChart[BS-1])) then
  begin
    Label3.Caption := (IntToStr(Roll)+' Miss');
    RichView1.AddTextNL((IntToStr(Roll)+' Miss'),7,0,1);
    RichView1.Reformat;
  end
  else
  begin
    Label3.Caption := (IntToStr(Roll)+' Hit');
    RichView1.AddTextNL((IntToStr(Roll)+' Hit'),6,0,1);
    RichView1.Reformat;
  end;
except
    MessageBox(0,'No number entered.','Error',mb_OK);
end;
6
задан menjaraz 3 January 2012 в 14:08
поделиться