PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK

  • Operating mode of custom errors
  • Using a class method to customize the errors
  • Customizing the default error windows
  • Customizing the default error pages
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Customizes the management of HFSQL errors.
WINDEV, WEBDEV and WINDEV Mobile propose an automatic management of errors. The automatic management of errors can be disabled or enabled for one or more data files, for one or more types of errors. To do so, use HOnError and specify an empty string for the name of window, page or procedure. See Assisted management of HFSQL errors for more details.
HFSQL Client/Server The automatic management of errors is not available for the stored procedures. HOnError is not available in the stored procedures.
HFSQL Client/ServerStored procedures The automatic management of errors is not available for the stored procedures.
Versions 24 and later
Stored procedures HOnError can be used to manage the error in a stored procedure.
New in version 24
Stored procedures HOnError can be used to manage the error in a stored procedure.
Stored procedures HOnError can be used to manage the error in a stored procedure.
Note: From version 19, HFSQL is the new name of HyperFileSQL.
WEBDEV - Server codeAjaxHFSQLHFSQL Client/ServerHyper File 5.5OLE DBNative Connectors (Native Accesses)
// Customize the lock errors
// The OnLockError procedure is called
// when a lock error occurs for all the files
HOnError("*", hErrLock, "OnLockError")
WEBDEV - Server codeHFSQLHFSQL Client/ServerHyper File 5.5OLE DBNative Connectors (Native Accesses)
// Re-enable the automatic management
// of all the errors on all the data files
HOnError("*", hErrAll)
WEBDEV - Server codeAjaxHFSQLHFSQL Client/ServerHyper File 5.5OLE DBNative Connectors (Native Accesses)
// Re-enable the automatic management
// of the lock errors on Customer file
HOnError("Customer", hErrLock)
Syntax
<Result> = HOnError(<File name> , <Type of error> [, <Name of Procedure/Window/Page>])
<Result>: Boolean
  • True if the operation was successfully performed,
  • False otherwise. HError returns more details about the problem.
<File name>: Character string (with or without quotes)
Name of data file used. If this parameter is equal to "*" the customization will be applied to all data files found in the analysis or defined by programming.
<Type of error>: Constant or combination of constants
Type of error to configure.
hErrDatabaseAccessConfigures the access errors to an HFSQL Client/Server database (access forbidden by HNoDatabaseAccess).
hErrLockConfigure the lock errors.
hErrDuplicatesConfigure the duplicate errors.
hErrIntegrityConfigure the integrity errors.
hErrModifyConfigure a modification conflict.
hErrPasswordConfigure the password errors (wrong password).
hErrConnectionLossConfigure the errors caused by a loss of connection with the HFSQL server.
hErrIndexConfigures the indexing errors (re-indexing in progress during the file access).
hErrNeedValueConfigure the errors caused by a mandatory input with no data (OLE DB and some native accesses).
hErrAllConfigure all previous errors (except hErrIndex).
<Name of Procedure/Window/Page>: Optional character string
Corresponds to:
  • WEBDEV - Server code Name of page or procedure to call when a <Type of error> error occurs.
  • Name of object method if HOnError is called in a method of this object.
  • Parameter not specified. If "Enable the automatic HyperFileSQL help" is checked in the project, the default window or page for automatic management of errors is used for the specified type of error and for the specified data file.Parameter not specified. If "Enable the automatic HFSQL help" is checked in the project, the default window or page for automatic management of errors is used for the specified type of error and for the specified data file.
  • Empty string. In this case, the automatic management of errors will be disabled.
    Note: To disable the automatic management of errors, you also have the ability to uncheck "Enable the automatic HyperFileSQL help" in the project. Note: To disable the automatic management of errors, you also have the ability to uncheck "Enable the automatic HFSQL help" in the project.
Note: In some cases (loss of connection errors for example), the procedure/window/page will be run during the next call to the WLanguage function following the event that triggered the error.
WEBDEV - Server code Only some of the windows/pages for the automatic management of errors are available. The automatic management of errors is disabled for these errors.

Special case: using a window, a page or a procedure found in a component: The following syntax must be used:
Procedure:
HOnError(<File name>, <Type>, ...
"<Component>.<Name of set of procedures>.<Procedure name>")

Window:
HOnError(<File name>, <Type>, "<Component>.<Window name>")

Page:
HOnError(<File name>, <Type>, "<Component>.<Page name>")
HFSQL Client/Server If a loss of connection occurs, to ask for reconnection, this procedure must call HReconnect.
Remarks

Operating mode of custom errors

The procedure, window or page used to customize the error must return one of the following constants:
opRetryThe function that triggered the error is re-run.
opCancelThe function that triggered the error returns an error as if the assisted management was disabled.
Note: For the errors of loss of connection, the error is fatal.
opEndProcessThe function that triggered the error returns an error and the current process stops. Equivalent to the following code line:
IF NOT <HFSQL function> THEN ReturnToCapture()
opEndProgramThe function that triggered the error returns an error and the program stops. Equivalent to the following code line:
IF NOT <HFSQL function> THEN EndProgram()
opRelaunchProgramThe program stops and the application is automatically restarted.
HFSQL Client/Server If a loss of connection occurs, to ask for reconnection, HReconnect must be used in the procedure called by HOnError.

Using a class method to customize the errors

<Name of procedure or window> can also correspond to a method of an object if HOnError is called in a method of this object. All you have to do is specify the name of the method to use (without using the object name as prefix).
When the method is called by the HFSQL engine, a fatal error occurs if the object used during the call to HOnError is no longer allocated.
HFSQLHFSQL Client/ServerHyper File 5.5OLE DBNative Connectors (Native Accesses)

Customizing the default error windows

The default error windows are supplied (as well as their WLanguage code) for information in the "\Programs\Data\Preset windows\HyperFileSQL - Automatic help windows" directory.The default error windows are supplied (as well as their WLanguage code) for information in the "\Programs\Data\Preset windows\HFSQL - Automatic help windows" directory.
These windows can be included in your projects, they can be customized and passed in parameter to HOnError.
WEBDEV - Server codeHFSQLHFSQL Client/ServerHyper File 5.5OLE DBNative Connectors (Native Accesses)

Customizing the default error pages

The default error pages are supplied (as well as their WLanguage code) for information in the "\Programs\Data\Preset pages\HyperFileSQL - Automatic help pages" directory.The default error pages are supplied (as well as their WLanguage code) for information in the "\Programs\Data\Preset pages\HFSQL - Automatic help pages" directory.
These pages can be included in your projects, customized and passed in parameter to HOnError.
Related Examples:
WD Managing HFSQL Errors Training (WINDEV): WD Managing HFSQL Errors
[ + ] The "WD Managing HFSQL Errors" example presents the management of HFSQL errors (duplicate, integrity).
This example explains how to customize the process when an error occurs.
Component : wd240hf.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment