Smarty kann verschiedene Fehler-Typen, wie fehlende Tag-Attribute oder syntaktisch falsche Variablen-Namen abfangen. Wenn dies geschieht, wird Ihnen eine Fehlermeldung ausgegeben. Beispiel:
</para>
<example>
<title>Smarty Fehler</title>
<programlisting>
Warning: Smarty: [in index.tpl line 4]: syntax error: unknown tag - '%blah'
in /path/to/smarty/Smarty.class.php on line 1041
Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name
in /path/to/smarty/Smarty.class.php on line 1041</programlisting>
</example>
<para>
In der ersten Zeile zeigt Smarty den Template-Namen, die Zeilennummer
und den Fehler an. Darauf folgt die betroffene Zeile in der Smarty Klasse welche den Fehler erzeugt hat.
</para>
<para>
Es gibt gewisse Fehlerkonditionen, die Smarty nicht abfangen kann (bsp: fehlende End-Tags). Diese Fehler
resultieren jedoch normalerweise in einem PHP-'compile-time' Fehler.
</para>
<example>
<title>PHP Syntaxfehler</title>
<programlisting>
Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75</programlisting>
</example>
<para>
Wenn ein PHP Syntaxfehler auftritt, wird Ihnen die Zeilennummer des
betroffenen PHP Skriptes ausgegeben, nicht die des Templates. Normalerweise
können Sie jedoch das Template anschauen um den Fehler zu lokalisieren.
Schauen sie insbesondere auf Folgendes: fehlende End-Tags in einer {if}{/if} Anweisung
oder in einer {section}{/section} und die Logik eines {if} Blocks. Falls Sie den Fehler
so nicht finden, können Sie auch das kompilierte Skript öffnen und zu der
betreffenden Zeilennummer springen um herauszufinden welcher Teil des Templates