错误处理

Beetl能较为详细的显示错误原因,包括错误行数,错误符号,错误内容附近的模板内容,以及错误原因,如果有异常,还包括异常和异常信息。 默认情况下,仅仅在控制台显示,如下代码:

  1. <%
  2. var a = 1;
  3. var b = a/0;
  4. %>

运行此模板后,错误提示如下

  1. >>DIV_ZERO_ERROR:0 位于3 资源:/org/beetl/sample/s0125/error1.txt
  2. 1|<%
  3. 2|var a = 1;
  4. 3|var b = a/0;
  5. 4| %>
  1. <%
  2. var a = 1;
  3. var b = a
  4. var c = a+2;
  5. %>

运行此模板后

  1. >>缺少符号(PARSER_MISS_ERROR):缺少输入 ';' 'var' 位于4 资源:/org/beetl/sample/s0125/error2.txt
  2. 1|<%
  3. 2|var a = 1;
  4. 3|var b = a
  5. 4|var c = a+2;
  6. 5| %>
  1. 默认的错误处理器仅仅像后台打印错误,并没有抛出异常,如果需要在render错误时候抛出异常到控制层,则可以使用org.beetl.core.ReThrowConsoleErrorHandler。不仅打印异常,还抛出BeetlException
  2. 可以自定义异常处理器,比如把错误输出到 作为渲染结果一部分输出,或者输出更美观的html内容等,具体参考高级用法
  3. 可以在配置文件不设置异常,这样Beetl引擎将不处理异常,用户可以在外部来处理(可以在外部调用ErrorHandler子类来显示异常)