[Groovy] Lokalisierung von Fehlern



Hallo,

Ich suche nach Möglichkeiten, Fehler, die in Groovy Scripts auftreten,
sauber zu lokalisieren (im Sinne von Ort, nicht Sprache ;). Ich bin
drauf und dran, Groovy für Konfigurationen und evtl. auch noch weiteres
Scripting einzusetzen. Was mich allerdings stört, ist, dass es keine
Möglichkeit zu geben scheint, etwas wie das hier auszugeben, wenn etwas
schief läuft:

Error at file://..., line 42, column 23: Descriptive error message

OK, wenn ich ein Script ausführe, kenne ich die URI woher ich es geladen
habe, ich kann also sämtliche Exceptions fangen und dann noch dazu
schreiben, woher ich das Script habe. Die Zeilennummer kann man sich
dann ja aus dem Stacktrace herauswühlen (der Dateiname im Stacktrace
hilft nichts, da es X gleichnamige Dateien geben wird, ich brauche
schon die vollständige URI). Das bedingt, dass ich eine Exception werfe
und damit das Script abbreche, nicht-fatale Fehler oder Warnungen sind
so nicht möglich.

Das ist irgendwie unbefriedigend, eine Nachricht wie oben wäre doch
wesentlich hübscher. Zumal erfahrungsgemäss viele der weniger
erfahrenen Entwickler dazu neigen, den Stacktrace nicht genau zu
studieren.

OK, ich könnte den Weg gehen, den HiveMind gegangen ist: Die
Zeilennummer mit einigen Heuristiken aus dem Stacktrace extrahieren.
Ich muss wohl nicht dazu schreiben, was mir daran nicht passt. ;)

Wie macht ihr das so mit den Fehlermeldungen aus Groovy? Gibt es
irgendwelche Pläne, in Zukunft eine saubere Möglichkeit anzubieten,
herauszukriegen, wo genau ein Fehler aufgetreten ist bzw. wo man sich
in einem Script befindet? Oder gibt es die schon lange und ich habe sie
übersehen?

Gruss,
Raffi

--
Come to think of it, there are already a million monkeys on a million
typewriters, and Usenet is *nothing* like Shakespeare!

herzog@xxxxxxxxxx · PGP Key 5D1FF5F4 · http://www.raffael.ch/
.



Relevant Pages

  • Re: [Groovy] Lokalisierung von Fehlern
    ... Ich suche nach Möglichkeiten, Fehler, die in Groovy Scripts auftreten, ... ich kann also sämtliche Exceptions fangen und dann noch dazu ... dann ja aus dem Stacktrace herauswühlen (der Dateiname im Stacktrace ...
    (de.comp.lang.java)
  • Re: Fehlerbehandlung
    ... denn im Fehlerfalle soll das script ... > Und liefert im Wesentlichen den Fehler "Es ist ein Fehler ... Weder der Benutzer noch Du wirst den Anbieter ... >> Das durch das erste Skript geladene zweite Skript soll so klein ...
    (de.comp.lang.javascript)
  • Fehler bei der Ausführung eines Scripts
    ... Hier einmal das Script ... Function Ping_Host ... Hier soll laut der VBS Datei ein Fehler in folgender ...
    (microsoft.public.de.german.scripting.wsh)
  • Re: Fleetstreet und falsche Sortierung
    ... das Script findet keine Fehler. ... Das Paket verwendet QQlink. ... Next by Date: ...
    (de.comp.os.os2.apps)
  • Re: Daten über serielle Schnittstelle
    ... > Könnte mir da einer behilflich sein, der Funktionsweise, dem Fehler oder ... > aber ein anderes kleines Script, ... > Fehler auftritt. ... > Die Anzahl der übergebenen Argumente stimmt nicht. ...
    (microsoft.public.de.excel)