|
|
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
Есть метод, который помечен аннотацией: Код: java 1. 2. Возникла ошибка, я вывожу ее описание в блоке catch: Код: java 1. все круто, но при этом в консоль выводится длинный стек трейс: Код: java 1. 2. 3. 4. 5. 6. 7. Нормально ли это? По идее, если я отлавливаю все исключения (Exception.class), в консоле у меня должно выводится то описание, которое я определила в блоке catch(). Поясните плиз. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 13:34 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
JulT, Возможно вы поймали исключение внутри транзакции. Поэтому внешний метод не знает, что транзакцию надо откатить и пытается её закомитить. Покажите где ваш catch-блок находится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 13:39 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJulT, Возможно вы поймали исключение внутри транзакции. Поэтому внешний метод не знает, что транзакцию надо откатить и пытается её закомитить. Покажите где ваш catch-блок находится? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. контроллер: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 14:21 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
JulT, Ну, вот. У вас Код: java 1. 2. То есть транзакция начинается контейнером за пределами контроллера. Но вы исключение поймали и не прокинули наверх. Поэтому контейнер попробовал закомитить транзакцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 14:24 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJulT, Ну, вот. У вас Код: java 1. 2. То есть транзакция начинается контейнером за пределами контроллера. Но вы исключение поймали и не прокинули наверх. Поэтому контейнер попробовал закомитить транзакцию. и как это подправить? сделать throw z в: @Controller @RequestMapping("/client") @Transactional ClientController ... @RequestMapping(value = "/register", method = RequestMethod.POST) public @ResponseBody RegisterClientResponse register(@RequestBody RegisterClientRequest request) { RegisterClientResponse response = new RegisterClientResponse(); try { response = adminService.registerClient(request.getClientInfo); }catch(Exception z){ System.out.println("При создании клиента произошла ошибка: " + z.getMessage()); throw z; } return response; } ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 14:44 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
JulTи как это подправить? сделать throw z в: Как вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 14:49 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
BlazkowiczJulTи как это подправить? сделать throw z в: Как вариант. Попробовала, не получилось. Код: java 1. 2. т.е. я специально поставила throw new NullPointerException(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 15:05 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
плиз, помогите, последний момент остался разобрать и все. попробовала по всякому, но при искусственной генерации исключения все равно вываливается стек трейс и ответ не возвращается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:10 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:17 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
JulTBlazkowiczпропущено... Как вариант. Попробовала, не получилось. Код: java 1. 2. т.е. я специально поставила throw new NullPointerException(); Вы уверены что именно в этом месте выбрасыается исключение или хотя бы до этого места доходит? Добавьте отладочную информацию и посмотрите что происходит, либо брейкпоинт поставьте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:18 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
YamahaR1JulTпропущено... Попробовала, не получилось. Код: java 1. 2. т.е. я специально поставила throw new NullPointerException(); Вы уверены что именно в этом месте выбрасыается исключение или хотя бы до этого места доходит? Добавьте отладочную информацию и посмотрите что происходит, либо брейкпоинт поставьте... доходит и входит до обоих блоков кетч 100% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:52 |
|
||
|
Правильный отлов @Transactional(rollbackFor=Exception.class)
|
|||
|---|---|---|---|
|
#18+
JulTYamahaR1пропущено... Вы уверены что именно в этом месте выбрасыается исключение или хотя бы до этого места доходит? Добавьте отладочную информацию и посмотрите что происходит, либо брейкпоинт поставьте... доходит и входит до обоих блоков кетч 100% Ну тогда прийдется изучить линку от Blazkowicz :) Либо можете еще тут посмотреть http://www.mkyong.com/spring-mvc/spring-mvc-exceptionhandler-example/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2014, 16:58 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38802415&tid=2126289]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
327ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 686ms |

| 0 / 0 |
