fiz desta forma, mas não sei se é a melhor prática, sem falar que utilizei o Exception e não algo mais específico:
publicvoiddeleteContrato(Contratocontrato)throwsException{//validar e mostrar erro ou devolver mensagemif((getContratoAutorByContratoId(contrato.getId_contrato(),1)).size()>0){thrownewException("Não é possível excluir este contrato, pois existem autores cadastrados!");}else{session.delete(contrato);}}
Só queria uma orientação de qual o melhor caminho e o que devo pesquisar para fazer isto!
Valeu galera!
diogopontual
Oi kweles.
Normalmente esse não é o melhor caminho. Provavelmente a sua Exception passa por uma série de camadas antes de chegar ao cliente Flex. Nessas camadas podem acontecer outras Exceptions por outros motivos, e você não vai poder identificá-las para dar o tratamento adequado. Acho que você deve criar uma Exception específica para a situação que a gerou.
Esse texto é interessante sobre o uso de Exceptions:
Obrigado Diogo, era isso que queria entender mesmo.
Vou ler o artigo!
Obrigado!
renzonuccitelli
No Framework que estou desenvolvendo eu preparei a parte flex para receber mensagens do Servidor. Criei um tipo MessageResponse que possui titulo e a mensagem. Assim, todos minhas mensagens remotas são avaliadas, e se conter um MessageResponse, eu mostro a mensagem através de um Alert.
kweles
Obrigado pela resposta!
Realmente quando recebo as mensagens elas vem com java.lang etc… e isso não é legal para o usuário!
Estou utilizando o RuntimeException ao invés do Exception, mas percebo ser necessário criar uma exception específica!