Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вызвать системную ошибку. [D5, Win95/98]


Andrewv ©   (2001-12-18 14:14:00) 

Можно ли из собственной программы вызвать системную ошибку
"Программа выполнила недопустимую операцию"?


Big_Hart   (2001-12-19 14:53:00) [1]

asm
cli
end
Repeat
until false


handra   (2001-12-19 14:34:00) [2]

Нифига:
ExceptObjProc:=nil;
asm lock nop end;

Результат:
Исключение unknown software exception и т.д.
Затем следующее:
Runtime error 255 at ....


Bizon   (2001-12-19 10:41:00) [3]

Ок. Получилось.


Dimka Maslov   (2001-12-19 10:36:00) [4]

В Delphi определён адрес обработчика исключений ExceptObjProc, если он определён, то при возникновении системной ошибки возникнет исключение. В противном случае - "программа выполнила недопустимую операцию"


Bizon   (2001-12-19 10:26:00) [5]

Замечательно, но эта обработка высвечивается в сообщении, а как сделать чтобы было четко написано: Программа выполнила......
Как в wind`е обычно.


Алексей Петров   (2001-12-19 10:20:00) [6]

External Exception - Это Delphi-йская обертка над всеми неведомыми для Delphi исключениями.
А код соответствует, как раз, процессорному исключению "неверный код операции".


Bizon   (2001-12-19 10:05:00) [7]

Попробывал последний вариант.
Ошибка External Exception и в 98 и в 2к
Вот так.


Digitman   (2001-12-19 08:55:00) [8]

Абсолютно согласен с <Алексей Петров>


Алексей Петров   (2001-12-19 08:46:00) [9]

Человек просил недопустимую операцию - а вы ему access violation хором предлагаете :)

Priveleged instruction:

asm
hlt
end;


А это чисто недопустимая операция

asm
lock nop
end



Дремучий   (2001-12-18 21:59:00) [10]

var Obj:TLabel;//любой компонентный тип
//нигде не вызывается конструктор Obj!
begin
//обращение к несозданому объекту
Obj.Caption := "Exception! Ha-ha dva raza!";
end;



panov   (2001-12-18 17:56:00) [11]

var
s : String;
p: Pointer;
begin
s := "Exception";
p := nil;
Move(s,p,9);


Pat   (2001-12-18 17:45:00) [12]

>Андрей Сенченко
А сам проверял?


Dimka Maslov   (2001-12-18 17:26:00) [13]

ExceptObjProc:=nil;
PInteger(nil)^:=0;


Андрей Сенченко   (2001-12-18 14:25:00) [14]


var
i : integer
begin
i := i/0
end.

или нужен генератор ошибок по выбору ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо