Тема: Exception
Показать сообщение отдельно
  #4  
Старый 11.04.2009, 14:27
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
По умолчанию

Возможно, вы предусмотрели не все исключительные ситуации? Мне удалось получить только сообщение Invalid floating point operation, когда a=b=0. При желании можете на все "неизвестные" исключения поставить одно сообщение: "Произошла неизвестная ошибка!" X)
Код:
function LinearEquation(a: real; b: real): real;
begin
  try
    Result := -(b / a);
  except
    on EZeroDivide do
      begin
        MessageBeep(MB_ICONERROR);
        MessageDlg('Коэффициент а не должен равняться нулю!', mtError, [mbOK], 0);
        Exit;
      end;
    on EConvertError do
      begin
        MessageBeep(MB_ICONERROR);
        MessageDlg('Введите коэффициенты!', mtError, [mbOK], 0);
        Exit;
      end;
  else
        MessageDlg('Unknown error!', mtError, [mbOK], 0);
  end;
end;
Ответить с цитированием