Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2016, 08:22   #1
Mazourik
Пользователь
 
Регистрация: 24.07.2015
Сообщений: 14
По умолчанию Системные прерывания

Можно ли перехватить и самостоятельно обработать системное прерывание, например деление на 0 ?
Mazourik вне форума Ответить с цитированием
Старый 26.03.2016, 11:32   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
системное прерывание
а что за система?
Если прерывание аппаратное - никак.
Если программное, то это и не прерывание, а exception.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 26.03.2016, 13:41   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Если прерывание аппаратное - никак.
Например, на армах можно, но надо глубоко закопаться...
p51x вне форума Ответить с цитированием
Старый 26.03.2016, 14:46   #4
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от Mazourik Посмотреть сообщение
Можно ли перехватить и самостоятельно обработать системное прерывание, например деление на 0 ?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c: extended;
begin
a:=3;
b:=0;
try
c:=a/b;
except
  on E: Exception do
  ShowMessage('Федя! Делить на ноль - не комильфо!');
end;
end;
kropotkina-alice вне форума Ответить с цитированием
Старый 26.03.2016, 19:13   #5
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Mazourik Посмотреть сообщение
Можно ли перехватить и самостоятельно обработать системное прерывание, например деление на 0 ?
Try
<Ваш код>
Except
<Код, который сработает при исключительном случае>
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 26.03.2016, 21:22   #6
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от kropotkina-alice Посмотреть сообщение
Код:
  ShowMessage('Федя! Делить на ноль - не комильфо!');
Не пойдёт, если автора зовут не Федя
Вадим Мошев вне форума Ответить с цитированием
Старый 27.03.2016, 00:54   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Не пойдёт, если автора зовут не Федя
Можно. И зовут меня не Федя . Есть таблица системных прерываний.
Как ни странно, с адресами с 0 по 255.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 27.03.2016 в 00:59.
Smitt&Wesson вне форума Ответить с цитированием
Старый 27.03.2016, 01:05   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Можно. И зовут меня не Федя . Есть таблица системных прерываний.
Как ни странно, с адресами с 0 по 255.
И где в этой таблице "деление на ноль"?
northener вне форума Ответить с цитированием
Старый 27.03.2016, 07:41   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
И где в этой таблице "деление на ноль"?
ошибка деления, вектор 0.


только вот не достучится ТС до нее
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.03.2016, 22:55   #10
Mazourik
Пользователь
 
Регистрация: 24.07.2015
Сообщений: 14
По умолчанию

Работает, но сначала вылетает системное сообщение об ошибке
Mazourik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Системные прокси nibufep Общие вопросы Delphi 1 03.10.2014 08:14
системные библиотеки евгенчик))) Помощь студентам 1 15.05.2014 08:20
системные средства -=Andriushka=- Помощь студентам 5 03.01.2014 19:10
Системные утилиты Баламут Софт 2 18.11.2009 14:04
Системные программы Yar Софт 9 29.06.2009 11:58