Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Как вызвать системную ошибку. 


Andrewv   (2001-12-18 14:14) [0]

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



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


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

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



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

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



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

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



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

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



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

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




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

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

Priveleged instruction:

asm
hlt
end;


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

asm
lock nop
end




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

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



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

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



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

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



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

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



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

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



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

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



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

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

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



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

asm
cli
end
Repeat
until false




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.055 c
3-21898           Delirium              2001-11-30 18:56  2002.01.08  
Можно-ли асинхронно запустить хранимую процедуру?


4-22461           ShaH                  2001-10-29 11:08  2002.01.08  
проблема с LogonUser (ERROR_PRIVILEGE_NOT_HELD)


1-22197           T2                    2001-12-16 07:17  2002.01.08  
Можно ли программно отключить корзину виндов?


1-22231           Leviathan             2001-12-16 22:16  2002.01.08  
BitBlt...


3-21980           Aleksandr             2001-12-05 13:26  2002.01.08  
Как в программе сформировать connection string TADOConnection?