Class UdaFehler
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- de.bsvrz.sys.funclib.bitctrl.interpreter.InterpreterException
-
- de.bsvrz.ibv.uda.interpreter.daten.fehler.UdaFehler
-
- Direct Known Subclasses:
ArgumentFehler
,ArithmetischerFehler
,ContainerZugriffsFehler
,DatenZugriffsFehler
,Fehler
,KonfigurationsFehler
,ObjektZugriffsFehler
,SymbolUndefiniertFehler
public abstract class UdaFehler extends de.bsvrz.sys.funclib.bitctrl.interpreter.InterpreterException implements Struktur, Kopierbar
Abstrakte Definition eines Fehler innerhalb des Uda-Skripts-Interpreters.
UdaFehler sind Fehler, die durch Probleme in der Programmierung eines Uda-Skripts verursacht werden. Bei der Abarbeitung innerhalb eines Skripts werden diese Fehler-Exceptions durch die entsprechende Auswertungsfunktion einer Anweisung abgefangen und entsprechend der gültigen Fehlerbahnadlungsstrategie weitergereicht und ausgwertet.
Die Klasse implementiert die Schnittstelle Struktur, um den Zugriff auf ihre Elemente über Namen zu ermöglichen. Folgende Elemente können abgefragt werden:- typ - der Typ des Fehlers als String
- subtyp - der Subtyp des Fehlers als String
- subtypText - der Text des Subtyp des Fehlers als String
- zusatztext - die Meldung die dem Fehler zugeordnet ist
- funktion - die Funktion in der der Fehler aufgetreten ist, falls er in einer Funktion aufgetreten ist
- skript - die Bezeichnung des Skripts, in dem der Fehler aufgetreten ist
- zeile - die Zeile des Quelltextes in der die den Fehler verurschende Anweisung zu finden ist
- ursprünglicherFehler - der Fehler, der den Fehler ausgelöst hat, wenn es sich um einen Folgefehlerhandelt
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description UdaFehler()
Standardkonstruktor.UdaFehler(UdaFehler fehler)
Konstruktor, der die Daten eines übergebenen Fehlerobjekts verwendet.UdaFehler(UdaFehlerSubtyp subtyp)
Konstruktor mit Angabe des Untertypen.UdaFehler(UdaFehlerSubtyp subtyp, java.lang.String text)
Konstruktor mit Angabe der Fehlermeldung.UdaFehler(UdaFehlerSubtyp subtyp, java.lang.String text, UdaFehler vorgaenger)
Konstruktor mit Angabe von Meldungstext und Vorgängerfehler.
-
Method Summary
Modifier and Type Method Description UdaFehler
getFehler()
liefert den Fehler, der diesen Fehler ausgelöst hat, sofern es sich um einen Folgefehler handelt.java.lang.String
getFehlerTyp()
liefert den Typ des Fehlers als Zeichenkette.java.lang.String
getFunktion()
liefert den Namen der Funktion, in der der Fehler aufgetreten ist, sofern es sich um eine Funktion handelt.java.lang.String
getMessage()
.java.lang.String
getSkriptName()
liefert den Name des Skripts, in dem der Fehler aufgetreten ist.java.lang.Object
getStrukturElement(java.lang.String name)
liefert das über den übergebenen Namen identifizierte Element aus dem Fehlerobjekt zurüück.
Folgende Elemente können abgefragt werden.UdaFehlerSubtyp
getSubTyp()
liefert den Subtyp des Fehlers.UdaFehler
getVorgaenger()
liefert den Fehler, der diesen verursacht hat, wenn es sich um einen Folgefehler handelt.int
getZeile()
liefert die Zeile, in der der Fehler verursacht wurde.java.lang.String
getZusatztext()
liefert den Meldungstext, mit dem der Fehler erzeugt wurde.java.lang.String
meldungen(int tiefe)
liefert die Meldungen des Fehlers und die aller Fehler, die diesen verursacht haben bis zur angegebenen Suchtiefe.void
setFunktion(java.lang.String name)
setzt den Namen der Funktion, in der der Fehler aufgetreten ist, sofern es sich um eine Funktion handelt.void
setMeldung(java.lang.String meldung)
setzt die Meldung des Fehlerobjekts.void
setSkript(java.lang.String skript)
setzt den Name des Skripts, in dem der Fehler aufgetreten ist.void
setStrukturElement(java.lang.String name, java.lang.Object daten)
die Funktion implementiert die Schnittstelle zum setzen des Wertes eines Strukturelements.void
setVorgaenger(UdaFehler vorgaenger)
setzt den Fehler, der diesen verursacht.void
setZeile(int zeile)
setzt die Zeile des Quelltextes des Skripts, in dem der Fehler aufgetreten ist.java.lang.String
toString()
liefert eine Repräsentation des Fehlers als Zeichenkette (entspricht dem einfachen Klassenname).-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.bsvrz.ibv.uda.interpreter.Kopierbar
erzeugeKopie
-
-
-
-
Constructor Detail
-
UdaFehler
public UdaFehler()
Standardkonstruktor.
-
UdaFehler
public UdaFehler(UdaFehler fehler)
Konstruktor, der die Daten eines übergebenen Fehlerobjekts verwendet.- Parameters:
fehler
- der ursprüngliche Fehler
-
UdaFehler
public UdaFehler(UdaFehlerSubtyp subtyp)
Konstruktor mit Angabe des Untertypen.- Parameters:
subtyp
- der Subtyp des Fehlers
-
UdaFehler
public UdaFehler(UdaFehlerSubtyp subtyp, java.lang.String text)
Konstruktor mit Angabe der Fehlermeldung.- Parameters:
subtyp
- der Subtyp des Fehlerstext
- die Meldung
-
UdaFehler
public UdaFehler(UdaFehlerSubtyp subtyp, java.lang.String text, UdaFehler vorgaenger)
Konstruktor mit Angabe von Meldungstext und Vorgängerfehler.- Parameters:
subtyp
- der Subtyp des Fehlerstext
- die Meldung des Fehlersvorgaenger
- der ursprüngliche Fehler
-
-
Method Detail
-
getFehler
public UdaFehler getFehler()
liefert den Fehler, der diesen Fehler ausgelöst hat, sofern es sich um einen Folgefehler handelt. Anderenfalls wird null geliefert.- Returns:
- den Fehler oder null
-
getFehlerTyp
public java.lang.String getFehlerTyp()
liefert den Typ des Fehlers als Zeichenkette. Die Zeichenkette entspricht dem Name der Fehlerklasse, mit dem der Fehler innerhalb eines Uda-Skriptes erzeugt werden kann.- Returns:
- den Name des Typs
-
getFunktion
public java.lang.String getFunktion()
liefert den Namen der Funktion, in der der Fehler aufgetreten ist, sofern es sich um eine Funktion handelt. Anderenfalls wird null geliefert.- Returns:
- den Name der Funktion oder null
- See Also:
setFunktion(String)
-
getMessage
public java.lang.String getMessage()
.- Overrides:
getMessage
in classjava.lang.Throwable
- See Also:
Throwable.getMessage()
-
getSkriptName
public java.lang.String getSkriptName()
liefert den Name des Skripts, in dem der Fehler aufgetreten ist. Ist der Name nicht definiert, wird ein Leerstring geliefert.- Returns:
- den Name des Skripts
-
getStrukturElement
public java.lang.Object getStrukturElement(java.lang.String name)
liefert das über den übergebenen Namen identifizierte Element aus dem Fehlerobjekt zurüück.
Folgende Elemente können abgefragt werden.- typ - der Typ des Fehlers als String
- zusatztext - die Meldung die dem Fehler zugeordnet ist
- funktion - die Funktion in der der Fehler aufgetreten ist, falls er in einer Funktion aufgetreten ist
- skript - die Bezeichnung des Skripts, in dem der Fehler aufgetreten ist
- zeile - die Zeile des Quelltextes in der die den Fehler verurschende Anweisung zu finden ist
- ursprünglicherFehler - der Fehler, der den Fehler ausgelöst hat, wenn es sich um einen Folgefehlerhandelt
- Specified by:
getStrukturElement
in interfaceStruktur
- Parameters:
name
- der Name- Returns:
- das Objekt
- See Also:
Struktur.getStrukturElement(java.lang.String)
,setStrukturElement(String, Object)
-
getSubTyp
public UdaFehlerSubtyp getSubTyp()
liefert den Subtyp des Fehlers.- Returns:
- subTyp
-
getVorgaenger
public UdaFehler getVorgaenger()
liefert den Fehler, der diesen verursacht hat, wenn es sich um einen Folgefehler handelt.- Returns:
- vorgaenger den vorigen Fehler
- See Also:
setVorgaenger(UdaFehler)
-
getZeile
public int getZeile()
liefert die Zeile, in der der Fehler verursacht wurde. Ist die Zeile nicht bekannt, wird der Wert -1 geliefert.- Returns:
- die Zeile oder -1.
- See Also:
setZeile(int)
-
getZusatztext
public java.lang.String getZusatztext()
liefert den Meldungstext, mit dem der Fehler erzeugt wurde. Wurde kein spezieller Meldungstext übergeben, ist das Ergebnis der Funktion ein Leerstring.- Returns:
- die Meldung
- See Also:
setMeldung(String)
-
meldungen
public java.lang.String meldungen(int tiefe)
liefert die Meldungen des Fehlers und die aller Fehler, die diesen verursacht haben bis zur angegebenen Suchtiefe.- Parameters:
tiefe
- die Suchtiefe- Returns:
- der verkettete Meldungstext
-
setFunktion
public void setFunktion(java.lang.String name)
setzt den Namen der Funktion, in der der Fehler aufgetreten ist, sofern es sich um eine Funktion handelt.- Parameters:
name
- der Name der Funktion- See Also:
getFunktion()
-
setMeldung
public void setMeldung(java.lang.String meldung)
setzt die Meldung des Fehlerobjekts.- Parameters:
meldung
- festzulegende Meldung- See Also:
getZusatztext()
-
setSkript
public void setSkript(java.lang.String skript)
setzt den Name des Skripts, in dem der Fehler aufgetreten ist.- Parameters:
skript
- der Name
-
setStrukturElement
public void setStrukturElement(java.lang.String name, java.lang.Object daten)
die Funktion implementiert die Schnittstelle zum setzen des Wertes eines Strukturelements. Fehlerobjekte können über das Skript nicht geändert werden, deshalb wird beim Aufruf der Funktion in jedem Fall ein Obektzugriffsfehler erzeugt. setzt das Element des Objekts, dass mit dem übergebenen Namen beschrieben wird auf den übergebenen Wert..- Specified by:
setStrukturElement
in interfaceStruktur
- Parameters:
name
- der Namedaten
- das Datenobjekt- See Also:
Struktur.setStrukturElement(java.lang.String, java.lang.Object)
,getStrukturElement(String)
-
setVorgaenger
public void setVorgaenger(UdaFehler vorgaenger)
setzt den Fehler, der diesen verursacht.- Parameters:
vorgaenger
- festzulegender Vorgänger- See Also:
getVorgaenger()
-
setZeile
public void setZeile(int zeile)
setzt die Zeile des Quelltextes des Skripts, in dem der Fehler aufgetreten ist.- Parameters:
zeile
- Festzulegender zeile- See Also:
getZeile()
-
toString
public java.lang.String toString()
liefert eine Repräsentation des Fehlers als Zeichenkette (entspricht dem einfachen Klassenname). .- Overrides:
toString
in classjava.lang.Throwable
- See Also:
Throwable.toString()
-
-