Sie sind hier

Bessere Fehlermeldung

Package: scrkbase 2011/06/16 v3.09a KOMA-Script package (KOMA-Script-dependent basics and keyval usage)

Wird mit \usekomavar{variableName} auf eine Variable zugegriffen, die nicht deklariert wurde, so wird folgende Fehlermeldung ausgegeben:

! Class scrlttr2 Error: KOMA-Script variable not defined.

See the scrlttr2 class documentation for explanation.
Type H for immediate help.
...

Besonders wenn viele neue Variablen definiert wurden und mehrere lco-Dateien involviert sind, benötigt man unnötig lange, um den Fehler zu finden.

Es wäre daher besser, im Fehlerfall immer möglichst viele Informationen, die zum Auffinden des Fehlers beitragen können, auszugeben. Im vorliegenden Fall z.B. den Namen der nicht gefundenen Variablen:

! Class scrlttr2 Error: KOMA-Script variable variableName not defined.

forum: 

Wenn du latex im voreingestellten errorstopmode und nicht im – möglicherweise von deinem Editor eingestellten – nonstopmode startest, bleibt latex an der Stelle, wo der Fehler auftritt, stehen, und du kannst dir durch Eingabe von „H“ als Ergänzung zur automatisch ausgegebenen allgemeinen Fehlermeldung einen erläuternden Hilfstext anzeigen lassen, welcher unter anderem den Namen der betreffenden Variablen ausweist. Das ist meiner Meinung nach nicht mit einem inakzeptablen Mehraufwand verbunden.

Natürlich kannst du auch erreichen, dass die allgemeine Fehlermeldung in dem von dir vorgeschlagenen Format ausgegeben wird. Definiere zu diesem Zweck das interne Makro \@komavar@err wie folgt um:

...
 
\makeatletter
\renewcommand*{\@komavar@err}[2]{%
  \ClassError{scrlttr2}{KOMA-Script variable `#2' not defined}{}%
}
\makeatother
 
\begin{document}
 
...

Danke erstmal, für den Lösungshinweis.

Zu Erklärung meines Problems sei noch gesagt, dass ich mich gerade neu mit TeX/LaTeX beschäftige, um ein Gefühl dafür zu bekommen, ob es geeignet wäre, in einer Serveranwendung mit vielen Benutzern serverseitig PDF-Dokumente zu erzeugen. Ein wichtiges Kriterium dafür sind korrekte Exit-Codes und aussagekräftige Fehlermeldungen. Sonst wird es später schwierig, anhand der Logdateien den fehlgeschlagenen Prozess eindeutig identifizieren und die Ursache schnell feststellen zu können.

Bild von Markus Kohm

Das Problem mit den Fehlermeldungen ist, dass einige Editoren genau die erste Zeile der Fehlermeldung auch anzeigen, wenn man sich zu dem Fehler begibt. Manche Editoren zeigen auch die mit 'h' erreichbare Hilfe zusätzlich an. Wenn nun die Fehlermeldung abgeschnitten wird, weil der Variablenname zu lang ist, dann steht da eventuell nur noch

! Class scrlttr2 Error: KOMA-Script variable

statt

! Class scrlttr2 Error: KOMA-Script variable
`ichdefinieremireinmaleineeigenevariable' not defined

Das wäre natürlich extrem nichtssagend!

AFAIR wurde speziell diese Fehlermeldung genau aus diesem Grund auch geändert, so dass der Variablenname nun nur noch im Hilfetext steht.

Comments for "Bessere Fehlermeldung" abonnieren