Skip to main content
Skip table of contents

DBUseExceptions()

DBUseExceptions() – Exception-Handling für Datenbank-Funktionen

Die Funktion bietet die Möglichkeit, die Datenbankfunktionen auf Exception-Handling umzustellen. Die Umstellung gilt nur für den aktuellen Codeblock. Globale Funktionen verhalten sich wie der Kontext, aus dem sie aufgerufen werden. In diesen Funktionen sollten möglichst keine Änderungen am Exception-Handling vorgenommen werden. Falls es doch notwendig ist, muß vor dem Verlassen der globalen Funktion der alte Wert zurückgeschrieben werden. Module, die per Call() aufgerufen werden, sind kontextunabhängig und ändern ihr Verhalten nicht.
Der Rückgabewert von DBUseExceptions ist die vorherige Einstellung.
Der Vorgabewert für jeden Codeblock ist False, d.h. alle Datenbankfunktionen arbeiten per Default ohne Exceptions.

Vergleich des Verhaltens


Zuweisungen auf geschützte Datenbank-Felder erzeugen im Exception-Modus einen Laufzeitfehler. Folgende Funktionen weisen ein geändertes Verhalten auf:

Funktion:

Fehler

Rückgabe mit Exception

ohne Exception Laufzeitfehler

AsString

Falsches Argument

EmptyValue

Abort()

AsVariant

Falsches Argument

EmptyValue

Abort()

DbAppend

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbCancel

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbDelete

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbEdit

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbFCount

Falsches Argument

0

Abort()

DbGoBottom

Falsches Argument

EmptyValue

Abort()

DbGoTop

Falsches Argument

EmptyValue

Abort()

DbInsert

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbOldVal

Falsches Argument

EmptyValue

Abort()

DbPost

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbRefresh

Falsches Argument

.F.

Abort()

DbReplace

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbState

Falsches Argument

.F.

Abort()

DbType

Falsches Argument

Leerstring

Abort()

BoF

Falsches Argument

.F.

Abort()

EoF

Falsches Argument

.F.

Abort()

DbRecNo

Falsches Argument

0

Abort()

LastRec

Falsches Argument

0

Abort()

DbReplace

Falsches Argument

.F.

Abort()

Rechtefehler

.F.

Abort()

DbSkip

Falsches Argument

.F.

Abort()

DbSeek

Falsches Argument

.F.

Abort()

DbOpen

Fehler beim Öffnen

EmptyValue

Abort()

DbRecNo

Falsches Argument

-1

Abort()

DbGoTo

Falsches Argument

.F.

Abort()

DbLock

Falsches Argument

.F.

Abort()

DbUnlock

Falsches Argument

.F.

Abort()

DbFilter

Falsches Argument

EmptyValue

Abort()

DbIndex

Falsches Argument

.F.

Abort()

Nicht ausgeführt

.F.

Abort()

DbZap

Falsches Argument

.F.

Abort()

Nicht ausgeführt

.F.

Abort()

Parameter

Beschreibung

aDoUse:L

Exception-Handling aktivieren / deaktivieren

Rückgabewert


Logisch - Wert der vorherigen Einstellung

Beispiel

CODE
// Beispiel im alten Modus:
// ------------------------

| oDab000:DB := 'waDAB000, 1', aFehler |
aFehler := .T.,
If DbEdit(oDab000) then
   If DbReplace(DbField('NAME1', 'XXX') then
      If DbPost(oDab000) then
         aFehler := .F.,
      EndIf,
   EndIf,
EndIf,
WriteLn('Kundenname ' + If(aFehler, 'nicht ', '') + 'geändert!')


 Beispiel im neuen Modus:
 ------------------------

| oDab000:DB := 'waDAB000, 1', aFehler |
StartSeq
   DbEdit(oDab000),
   DbReplace(DbField('NAME1', oDab000), 'XXX'),
   DbPost(oDab000),
   aFehler := .F.,
OnError
   aFehler := .T.,
StopSeq,
WriteLn('Kundenname ' + If(aFehler, 'nicht ', '') + 'geändert!')


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.