Как показать только сообщение об ошибке, а не полную трассировку стека в java и freemarker? - PullRequest
1 голос
/ 30 мая 2011

У меня есть этот код в 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(), у нас есть 40 модулей для изменения, если мы изменим e.getCause() на e.getMessage().

Я ценю вашу помощь, ребята.

Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 31 мая 2011

Я предлагаю вам добавить само исключение в модель (например, под именем «исключение») и использовать его в шаблоне: exception.message или exception.cause.message, в зависимости от того, какое исключение вы хотите.

0 голосов
/ 30 мая 2011

К сожалению, сообщение имеет тип string!Если бы это было message = e.getCause(); вместо message = "Error occurred : " + e.getCause();, ответ Даниэля был бы решением.

0 голосов
/ 30 мая 2011

Будет

message.message

помощь? Доступ к функции getMessage ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...