## 1.21 錯誤處理
Beetl能較為詳細的顯示錯誤原因,包括錯誤行數,錯誤符號,錯誤內容附近的模板內容,以及錯誤原因,如果有異常,還包括異常和異常信息。 默認情況下,僅僅在控制臺顯示,如下代碼:
```javascript
<%
var a = 1;
var b = a/0;
%>
```
運行此模板后,錯誤提示如下
```javascript
>>DIV_ZERO_ERROR:0 位于3行 資源:/org/beetl/sample/s0125/error1.txt
1|<%
2|var a = 1;
3|var b = a/0;
4| %>
```
```javascript
<%
var a = 1;
var b = a
var c = a+2;
%>
```
運行此模板后
```javascript
>>缺少符號(PARSER_MISS_ERROR):缺少輸入 ';' 在 'var' 位于4行 資源:/org/beetl/sample/s0125/error2.txt
1|<%
2|var a = 1;
3|var b = a
4|var c = a+2;
5| %>
```
1. 默認的錯誤處理器僅僅像后臺打印錯誤,并沒有拋出異常,如果需要在render錯誤時候拋出異常到控制層,則可以使用org.beetl.core.ReThrowConsoleErrorHandler。不僅打印異常,還拋出BeetlException
2. 可以自定義異常處理器,比如把錯誤輸出到 作為渲染結果一部分輸出,或者輸出更美觀的html內容等,具體參考高級用法
3. 可以在配置文件不設置異常,這樣Beetl引擎將不處理異常,用戶可以在外部來處理(可以在外部調用ErrorHandler子類來顯示異常)
4. 如果想校驗模板是否正確,可以調用groupTemplate.validate....系列方法
- Beetl 3 中文文檔
- 第一部分 基礎用法
- 1.1 安裝
- 1.2 快速開始
- 1.3 模板基礎配置
- 1.4 模板加載器
- 1.5 定界符與占位符
- 1.6 注釋
- 1.7 變量定義
- 1.8 屬性
- 1.9 數學表達式
- 1.10 循環語句
- 1.11 條件語句
- 1.12 異常捕獲
- 1.13 虛擬屬性
- 1.14 函數調用
- 1.15 安全輸出(重要)
- 1.16 輸出格式化
- 1.17 標簽
- 1.18 調用Java方法與屬性
- 1.19 嚴格MVC控制
- 1.20 指令
- 1.21 錯誤處理
- 1.22 Beetl小工具
- 1.23 Escape
- 第二部分 高級用法
- 2.1 配置GroupTemplate
- 2.2 自定義方法
- 2.3 自定義格式化函數
- 2.4 自定義標簽
- 2.5 自定義虛擬屬性
- 2.6 使用額外的資源加載器
- 2.7 自定義資源加載器
- 2.8 使用CompositeResourceLoader
- 2.9 自定義錯誤處理器
- 2.10 自定義安全管理器
- 2.11 注冊全局共享變量
- 2.12 自定義布局
- 2.13 性能優化
- 2.14 定制輸出
- 2.15 定制模板引擎
- 2.16 直接運行Beetl腳本
- 2.17 模板校驗
- 第三部分 Web 集成
- 3.1 Web提供的全局變量
- 3.2 集成技術開發指南
- 3.3 Servlet集成
- 3.4 SpringMVC集成
- 3.5 Spring Boot集成
- 3.6 Jodd集成
- 3.7 JFinal4 集成方案
- 3.8 Nutz集成
- 3.9 Struts2集成
- 3.10 整合ajax的局部渲染技術
- 3.11 在頁面輸出錯誤提示信息
- 附錄
- 4.1 內置方法
- 4.2 Spring相關函數
- 4.3 Spring security
- 4.4 shiro
- 4.5 內置格式化方法
- 4.6 內置標簽函數
- 4.7 內置html標簽
- 4.8 性能優化
- 4.9 Eclipse 插件
- 4.10 性能測試對比