[firebase-br] Receber Exception de SP com Select

Carlos Andrade krlosgilson em gmail.com
Qua Fev 1 15:16:46 -03 2017


Tá certo Gladiston, vou seguir seu exemplo, só em ver desta forma já dá 
pra perceber que vai funcionar. A minha classe em php, executa o sql 
dentro de bloco try/catch para justamente receber os erros. Quando eu 
tiver com a cabeça mente mais tranquila, ainda vou tentar novamente com 
exceptions e quando eu conseguir, posto o resultado. Obrigado!


Em 31/01/2017 13:58, Gladiston Santana escreveu:
> Faça da seguinte forma, inclua o campo RESULT_ERROR e/ou RESULT_ERROR_MSG
> entre as variaveis que desejar retornar da procedure.
> No inicio da procedure, coloque:
> RESULT_ERROR=0;
> RESULT_ERROR_MSG=''
>
> Dentro da sua procedure, quando houver um erro, identifique RESULT_ERROR
> com algum valor >0 e se quiser descrever uma mensagem então
> RESULT_ERROR_MSG='descricao do erro' e conclua a procedure com suspend
> seguido por um exit:
> if ((select ID_CLIENTE from VENDAS where (ID =:iidvenda)) <> :iidcliente)
> then
> begin
>    RESULT_ERROR=2;
>    RESULT_ERROR_MSG='Registro não encontrado';
>    suspend;
>    exit;
> end
>
> Daí no php, apanhe essas duas variáveis e saberá que $RESULT_ERROR=0 é
> porque foi concluída corretamente e >0 é porque houve erros e se precisar
> exiba $RESULT_ERROR_MSG.
> Para trabalhar corretamente com php é mandatório que você não dê uma
> exception literal numa procedure porque o lado cliente só poderia lidar com
> ela em blocos de try/catch (try/exception do delphi) que nem sempre é
> desejável.





Mais detalhes sobre a lista de discussão lista