Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gabriel Heming

[Resolvido] Exception

Recommended Posts

Estou mais com uma dúvida do que um problema.

Como estudei Exception em Java, venho com o conceito do funcionamento nele. Porém, em PHP, notei uma diferença que é a seguinte.

 

Código simples (meramente ilustrativo) para inserir um objeto no banco de dados

try {
   $Objeto = new Objeto();
   $Objeto->setParametro( 'blablabla' );

   _Objeto::insert( $Objeto );    
   echo 'Cadastro realizado com sucesso';
} catch ( Exception $e ) {
   echo $e->getMessage();    
}

 

Caso o objeto não for inserido no banco de dados, ele lança a Exception "Falha na Inclusão"

 

 

 

Se fosse no java, ele iria até a linha

   _Objeto::insert( $Objeto );    

 

Ocorreria a Exception e pularia para o catch, onde a mensagem da Exceção seria tratada.

 

Porém, ele não está parando o código na Exception. Acontece o seguinte. O sistema tenta inserir, não consegue e trata a exception dentro do catch. Porém, depois de tratar a exception, ele continua o script dentro do TRY. A saída fica a seguinte:

 

Falha na InclusãoCadastro realizado com sucesso

 

Não há uma maneria de parar o script dentro do TRY quando for lançada uma exception?

 

----------------------------------

 

Err.... erro meu '-'

 

dentro do método

_Objeto::insert();

Já existia o tratamento dessa exceção, isso que ocasionava o não cancelamento da execução

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, é estático mesmo. é apenas uma classe handler para trabalhar entre o Objeto $Objeto e a classe ObjetoDAO, basicamente uma BusinessLayer

 

Mas já resolvi o problema, havia outro tratamento da exception dentro do método

_Objeto::insert()

,

então ele tratava a exception dentro do método acima mencionado e continuava normalmente o script. Foi uma falha de atenção minha '-', pois pesquisei sobre catch e não encontrava solução, e o erro estava dentro da classe handler.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não não, não foi isso que eu quis dizer 'estático' .. estou falando da variável , aí você usou _Objeto , ao invés de $Objeto , entendeu ? daí ficou parecendo que estava dando um erro aí que você não tinha visto.

 

Que bom que resolveu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.