| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/08/2005 18:33:13
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
O que é melhor para o método execute() de uma action do Mentawai?
jogar Exception ??? (e deixar o cara livre para não tratar nenhuma exception dentro do método)
ou jogar ActionException como está hoje ???
O WebWork joga Exception o que está causando uma certa dificuldade para quem está migrando de WebWork para Mentawai.
Acho que colocando throws Exception vc dá muita liberdade para o cara ignorar as exceptions, por descuido ou falta de conhecimento, e isso não é legal.
Mas gostaria de entender porque o WW optou por throws Exception, caso haja alguma razão.
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/08/2005 18:51:35
|
Maurício Linhares
Joined: 29/08/2005 18:42:41
Messages: 2
Offline
|
O WebWork, o Struts, o Spring MVC e eu acredito que a maioria dos frameworks web resolveu assim, porque se a exceção é recuperável, é responsabilidade do programador resolver o problema, mas a maioria das exceções não é recuperável.
SqlException por exemplo, se de repente você bota o sistema no ar com uma query escrita errada, não tem jeito, não tem mágica pra fazer aquela query ficar correta, ou você conserta ou a coisa simplesmente não funciona. Eu não diria que checked exceptions são um erro por completo, mas o uso que é feito delas simplesmente não é correto, porque muita coisa não tem "salvação".
Eu acredito que o melhor mesmo seja lançar Exception e também dar a opção do cara mapear um ExceptionHandler, coisa que eu usei muito no Struts mas não vi nem no WW nem no Spring MVC, que é um Action que é chamado quando uma exception ocorre.
Lá no Struts agente mapeava o tipo da Exception pra cada ExceptionHandler, assim, se der SqlException, vai chamar um Action que sabe o que fazer com ela, ele pode simplesmente mostrar uma página avisando que ocorreram erros no acesso ao banco de dados, ou pode enviar um e-mail pro suporte, vai depender da implementação do desenvolvedor né.
|
Coding: At the end of the day, if the program doesn't run and make money for the client, you haven't done anything. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/08/2005 18:53:51
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Legal, um voto para Exception.
Esse ExceptionHandler que vc fala iremos implementar no Mentawai como um ExceptionFilter.
Obrigado Maurício !
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/08/2005 23:30:44
|
Lucas Teixeira
![[Avatar]](/images/avatar/1679091c5a880faf6fb5e6087eb1b2dc.jpg)
Joined: 09/06/2005 18:56:48
Messages: 9
Location: Londrina - PR
Offline
|
Hehehehhe, Isso aí Sérgio....
Eu voto conscientemente para Exception, pq como eu já tentei te convencer, (mas vc parece mais difícil de convencer que o Klaus), e o Marcelo já disse, o tratamento está a cargo do Programador, e como eu tb já disse, ele tem que ter uma certa LIBERDADE na hora de programar!
Podemos usar a idéia do ExceptionFilter para isso, deu catch em uma exception, retorna EXCEPTION, que terá um globalResult fazendo um chain para outra Action....
Pronto Marcelo, teu Handler tá criado!
Barabing, Baraboom, Bara-Beakman! (Alguem lembra disso?)
|
Lucas Frare de A. Teixeira
lucas.teixeira@gmail.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/08/2005 12:38:35
|
RubemAzenha
Joined: 30/06/2005 23:12:02
Messages: 472
Location: São Paulo, SP
Offline
|
Code:
try{
//codigo que lança exceção
}
catch (Exception e) {
throw new ActionException(e);
}
não gosto muito disso
vendo os pontos dos colegas, voto no exception
|
Mentawai Developer |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/08/2005 12:55:12
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Alteração concluída e comitada.
Na versão 1.1.1 vai ser lançada oficialmente.
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/08/2005 13:41:41
|
Lucas Teixeira
![[Avatar]](/images/avatar/1679091c5a880faf6fb5e6087eb1b2dc.jpg)
Joined: 09/06/2005 18:56:48
Messages: 9
Location: Londrina - PR
Offline
|
RubemAzenha wrote:
Code:
try{
//codigo que lança exceção
}
catch (Exception e) {
throw new ActionException(e);
}
não gosto muito disso
vendo os pontos dos colegas, voto no exception
É complicado fazer isso para 7642342873 actions né!
Imagina com os Filters..
Dureza... Por isso sugeri propagar Exception! Acho que o programador tem que ter a consciencia disso... Em troca, eu ganhei minha liberdade!
Obrigado Sérgio!
|
Lucas Frare de A. Teixeira
lucas.teixeira@gmail.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2006 15:13:54
|
Eduardo
Joined: 04/05/2006 14:58:13
Messages: 1
Offline
|
É possível fazer isso? Digo, como se faz para prever todos os casos de excecao e exibir uma pagina de erro amigavel?
Estou tentando desesperadamento programar o web.xml e as tags de error-page mas não to obtendo muito sucesso. Alguns erros eu to conseguindo tratar, outros não. Mesmo que eu especifique um por um.
People, se alguém puder me ajudar, agradeço.
Abraços.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2006 15:38:12
|
saoj
Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline
|
Dá uma olhada no ExceptionFilter.
Basicamente vc pode pegar as exceptions, usar instanceof e/ou os métodos da exception para exibir um erro amigável.
E vc só faz isso num único lugar.
Dá uma olhada no ExceptionFilter. Ele serve pra isso !!!
|
Sergio Oliveira
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/05/2006 18:42:15
|
Lobo
![[Avatar]](/images/avatar/093f65e080a295f8076b1c5722a46aa2.jpg)
Joined: 23/01/2006 02:17:14
Messages: 841
Location: Fortaleza-CE
Offline
|
Dureza... Por isso sugeri propagar Exception! Acho que o programador tem que ter a consciencia disso... Em troca, eu ganhei minha liberdade!
Concordo também.
Atenciosamente,
Hélio Frota
|
Atenciosamente,
Hélio Frota
Helio Frota
10+ Java Programmer
heliofrota.com
Mentawai Developer |
|
|
 |
|
|