如何仅显示错误消息,而不是java和freemarker中的完整堆栈跟踪?

问题描述

| 我在java中有以下代码:
try{
   //some code here.. .
} catch (Exception e) {
   message = \"Error occurred : \" + e.getCause();
   throw e;
}
在freemarker中:
<table width=\"1238\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">
  <tr>
    <td align=\"center\" class=\"Fontmost\">
      <p><@ww.property value = \"message\"/> <!-- message from java -->
    &nbsp;
    <br />
    <br />
      </p>
    </td>
  </tr>
</table>
我要维护的应用程序的最后一个开发人员使用
e.getCause()
而不是
e.getMessage()
。现在,我们只需要异常消息,因为
e.getCause()
将在页面中打印整个堆栈跟踪。是否可以通过仅修改freemarker代码来仅显示异常消息?因为我们的Java代码中的所有类和模块都使用
e.getCause()
,所以如果将
e.getCause()
修改为
e.getMessage()
,则有40个模块可以更改。 感谢您的帮助。 提前致谢。     

解决方法

        我建议您将异常本身添加到模型中(例如,名称为“ exception \”),并在模板中使用它:
exception.message
exception.cause.message
,具体取决于所需的异常。     ,        将
message.message
救命?这将访问getMessage()函数。     ,        不幸的是,消息是字符串类型!如果是ѭ11而不是ѭ12,则丹尼尔的答案就是解决方案。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...