2016-12-08 4 views
1

Wenn eine Vorlage einrichten, wenn das Attribut Schlüssel nicht in das Objekt ST eingestellt ist wirft es den Fehler:Gibt es eine Möglichkeit, Attribut zu unterdrücken, ist ein nicht definierter Fehler in StringTemplate?

  context [anonymous] 11:27 attribute isn't defined 

ist es eine Möglichkeit, diesen Fehler-Flag oder zu unterdrücken, um nicht logs.i zu zeigen Fehler in benutze log4j um mein Log zu loggen ist mit Attribut ist nicht definiert Fehler Was soll ich tun dies aus dem Log zu entfernen?

Antwort

1

Sie könnten Ihre eigenen STErrorListener schreiben oder ErrorBuffer verwenden, um die Fehler abzufangen und dann über die Fehlermeldungen zu iterieren und zu entscheiden, ob Sie sie in das Protokoll schreiben wollen oder nicht, je nach Typ.

+0

Vielen Dank. Ich glaube, das braucht eine STGroup (stGroup.errMgr = ...), für ST direkt habe ich keinen Weg gefunden, einen errorListener hinzuzufügen, leider – Hartmut

+0

UPDATE: sogar mit ST kann ein ErrorHandler hinzugefügt werden. Konstruiere das ST einfach mit einer Gruppe, die auf einen Fehlerhandler zeigt - C'est tout! :) – Hartmut

+1

neuer ErrorManager (neuer STErrorListener() {@Override öffentlicher void runTimeError (STMessage msg) {if (msg.error == ErrorType.NO_SUCH_ATTRIBUTE) ...}; ...} – Hartmut

Verwandte Themen