![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вызвать системную ошибку. [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.
или нужен генератор ошибок по выбору ?