Aktuelle Zeit: 06:25:42 20.06.2013

  • Deutsch (German)
  • English

Exception-EndException

Exceptions dienen der Fehlersuche direkt im Programm. Fehlerbehandlung bei Auftreten einer Exception.

Siehe auch: Dump

Syntax:

  • Exception ExceptionName
    • Programmcode
    • [Raise]
  • EndException
ExceptionName Beschreibung Raise
OutOfBoundsMemory MemoryBlock Objektgrenze verletzt ja
NilObjectException Objekt auf das sich der Aufruf bezieht existiert nicht ja
OutOfSpaceMemory Arbeitsspeicher voll, Objekt kann nicht alloziert werden nein
StackOverflow1) Der Stack ist übergelaufen. Siehe auch.. nein

Wird ein Exceptionhandler im Programmcode verwendet, werden die jeweiligen Debugfunktionen aktiviert. Die Zugriffsgeschwindigkeiten werden z.T. reduziert und es wird zusätzlicher Speicherplatz im Flash benötigt.

Sofern möglich (siehe Tabelle), kann mit dem Befehl Raise die Programmausführung fortgesetzt werden. Andernfalls wird das Programm nach Auftreten einer Exception durch eine Endlosschleife angehalten (HALT).

Beispiel

' Initialisierung
[..]
' Hauptprogramm
dim a as byte
dim m,m1 as MemoryBlock
m.New(100)           'MemoryBlock allozieren mit 100 Bytes
a=m.ByteValue(100)   'Löst Exception aus, da außerhalb der Objektgrenzen 
                     '(Zugriff hier nur 0-99 erlaubt, Offsets sind Nullbasiert)
m1.ByteValue(0)=1    'Zuweisung zu einem nicht existierendes Objekt
m1.New(3000)         'mehr Speicher allozieren als vorhanden ist (Programm wird angehalten)
do
Loop
 
' Exception-Handler definieren (Aktiviert die Überwachungsfunktionen)
Exception OutOfSpaceMemory
  ' Fehlermeldung ausgeben
  Print "*** Exception OutOfSpaceMemory ***"
EndException
Exception OutOfBoundsMemory
  ' Fehlermeldung ausgeben
  Print "*** Exception OutOfBoundsMemory ***"
  Raise  ' Programm fortführen
EndException
Exception NilObjectException
  ' Fehlermeldung ausgeben
  Print "*** Exception NilObjectException ***"
  Raise  ' Programm fortführen
EndException
Exception StackOverflow
  ' Fehlermeldung ausgeben
  Print "*** Exception StackOverflow ***"
EndException
1) Implementiert ab Version 2013.r1
Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0 chimeric.de = chi`s home
(c) 2011 rgf software, all rights reserved