code.
void _Error(int code) int code; /* Внутренний номер ошибки Visual FoxPro. */ |
Примечания
Параметр code представляет собой внутренний номер ошибки Visual FoxPro и может иметь как положительное, так и отрицательное значение. _Error( ) передает управление обработчику ошибок Visual FoxPro, чтобы эту ошибку можно было обработать, как любую другую ошибку Visual FoxPro. В программу, вызвавшую _Error( ), управление не возвращается, даже если пользователь решит игнорировать ошибку. Выполнение возобновляется со следующего оператора Visual FoxPro.
Номера ошибок и их описания см. в разделе справки Visual FoxPro Номера ошибок.
![]() |
---|
Не вызывайте _Error( ) из обработчика событий. |
Для получения дополнительной информации о том, как создавать библиотеку API и интегрировать её в Visual FoxPro, смотрите Доступ к API Visual FoxPro.
Пример
В следующем примере _Error( ) вызывается, когда _DBSkip( ) возвращает номер ошибки. В коде Visual FoxPro показано, как создать ситуацию, приводящую к вызову _Error( ).
Код Visual FoxPro
![]() | |
---|---|
SET LIBRARY TO ERROR DO CreateTest ON ERROR DO expectError USE = DBSKIP(1) && _Error() called: no DBF in use USE test GO TOP = DBSKIP(-1) = DBSKIP(-1) && _Error() called: at top of file GO BOTT = DBSKIP(1) = DBSKIP(1) && _Error() called: at bottom of file ON ERROR PROCEDURE expectError ? "ERROR: " + MESSAGE() RETURN PROCEDURE CreateTest CREATE TABLE test (ABC C(20)) APPEND BLANK REPLACE ABC WITH "This is record 1" APPEND BLANK REPLACE ABC WITH "This is record 2" APPEND BLANK REPLACE ABC WITH "This is record 3" APPEND BLANK REPLACE ABC WITH "This is record 4" GO TOP RETURN |
Код C
![]() | |
---|---|
#include <pro_ext.h> FAR Example(ParamBlk FAR *pblk) { int RetCode; if ((RetCode = _DBSkip(-1, pblk->p[0].val.ev_long)) < 0) { _PutStr("\nError encountered in example program."); _Error(-RetCode); // _DBSkip() returns negative error code } _RetInt(RetCode, 10); } FoxInfo myFoxInfo[] = { {"DBSKIP", (FPFI) Example, 1, "I"}, }; FoxTable _FoxTable = { (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo }; |
Смотрите также
Справочное руководство
Процедура библиотеки API _ErrorInfo( )Процедура библиотеки API _UserError( )
Процедура библиотеки API _DBSkip( )