Rpz .. a principio .. meu caso .. Eu insiro mesmo que o usuario nao preencha nada .. eu achei um absurdo o cliente pagar, exigir e nao querer preencher .. deu uma trabalheira retirar validacoes .. mas foi do jeito que ele quis ..
Mas, com relacao ao exception .. observe que ele so vai ser executado em caso de falha do banco. Se nao inseriu, nao vai dar rollback .. é um caso de falha critica de banco que merece um exception. Nao vi nenhuma referencia a filters nem rules no banco (nao faz check()) .. entao .. banco falhou, exception Em 04/06/2012 23:19, "Waldson Patricio" <[email protected]> escreveu: > Pois é voce pode ter quantos catches de quantas exceções voce quiser. Só > acho exagero voce criar uma exceção para cada situação possível. Se forem > do mesmo contexto, acho mais interessante voce criar um código e passar pra > exceção. trhow new Cliente_Exception("Mensagem X", > Cliente_Exception::SITUACAO_X); > > outra observação é a questão da atomicidade. Acho que essa operação tem > que ser atômica, ou seja, ou executa tudo ou não executa nada. Dá uma > olhada em transações. > > Flw. > > 2012/6/4 felipe bastos <[email protected]> > >> E pode fazer a sequencia de catches pq funciona no php5 .. >> >> O exception captado sera de acordo com o tipo de exception disparado >> Em 04/06/2012 22:52, "felipe bastos" <[email protected]> escreveu: >> >> Bom cara .. eu nao li tudo mas lhe daria tais dicas .. >>> >>> Um cliente tem endereco >>> Outras coisas tem endereco >>> >>> Entao .. é mais conveniente endereco servir para tudo .. >>> >>> $endereco ... ORM::factory('endereco'); >>> >>> $cliente-endereco ... $endereco; >>> Tabela cliente campo endereco_id >>> >>> $fornecedor-endereco ... ORM::factory('endereco'); >>> Tabela fornecedor campo endereco_id >>> >>> Vc nao esta validando o endereco .. >>> >>> Como uma pessoa chegou a me pedir para fazer formularios pra ela nao >>> preencher (isso mesmo kkk) >>> >>> Vc poderia salvar o endereco mesmo sem dados .. vou aproveitar pra >>> corrigir isso no meu codigo tbm (erros de banco com exception, eu >>> simplesmente mando um erro amigavel pro user) >>> >>> if(! $endereco-save()){ >>> throw new ...Database...Exception(); >>> } >>> >>> Ai teria sentido usa try .. >>> >>> Vlw pela duvida .. e fica a dica >>> >>> Em 04/06/2012 19:57, "Bernardo Castro" <[email protected]> escreveu: >>> >>>> A algum tempo tenho usado o bloco “tr...catch” erradamente nos sites >>>> que tenho desenvolvido. Por exemplo, ter duas funções em apenas um bloco >>>> catch. Veja o código. >>>> >>>> http://pastebin.com/3JNEnqq0 >>>> >>>> Se parar para pensar esse não é um forma 100% seguro para tratamento de >>>> exceções. No bloco acima se o método de adicionar endereço falhar o >>>> cadastro do cliente vai está errado. Tinha ciencia desse problema mas não >>>> levava a serio. >>>> >>>> Qual seria a melhor forma de garantir o cadastro do cliente? O código >>>> acima foi somente um exemplo, tenho um caso real atualmente que é o >>>> seguinte. >>>> Tenho um processo de cadastro de cliente onde é necessário inserir os >>>> serviços adquiridos, criar a fatura, enviar e-mails de notificação.(varios >>>> e-mails) >>>> >>>> http://pastebin.com/UYQFuUT8 >>>> >>>> *O último método de enviar e-mail “notificar” e sem dúvida o grande >>>> vilão, nele a grandes chances de ocorrer um erro por falha na conexão, host >>>> fora do ar. Etc.* >>>> >>>> >>>> *Criando vários blocos “catch” eu consigo gerenciar detalhadamente o >>>> erro caso aconteça em qualquer parte do código.* >>>> >>>> *Se a última etapa falhar, que é a de notificação, posso ainda >>>> carregar uma página de sucesso e avisar somente que ocorreu um erro no >>>> envio do e-mail.* >>>> >>>> *Se acontecer uma falha na parte de adicionar o serviço ao cliente, >>>> que seria muito ruim, posso simplesmente apagar o cadastro do cliente feito >>>> no primeiro processo.* >>>> >>>> >>>> *Essa seria a melhor forma de controlar os possíveis erros ? Alguém >>>> faz algo diferente disso?* >>>> >>>> -- >>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >>>> Php" dos Grupos do Google. >>>> Para ver esta discussão na web, acesse >>>> https://groups.google.com/d/msg/kohana-php/-/PgEhMsjT0psJ. >>>> Para postar neste grupo, envie um e-mail para >>>> [email protected]. >>>> Para cancelar a inscrição nesse grupo, envie um e-mail para >>>> [email protected]. >>>> Para obter mais opções, visite esse grupo em >>>> http://groups.google.com/group/kohana-php?hl=pt-BR. >>>> >>> -- >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" dos Grupos do Google. >> Para postar neste grupo, envie um e-mail para [email protected] >> . >> Para cancelar a inscrição nesse grupo, envie um e-mail para >> [email protected]. >> Para obter mais opções, visite esse grupo em >> http://groups.google.com/group/kohana-php?hl=pt-BR. >> > > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana > Php" dos Grupos do Google. > Para postar neste grupo, envie um e-mail para [email protected]. > Para cancelar a inscrição nesse grupo, envie um e-mail para > [email protected]. > Para obter mais opções, visite esse grupo em > http://groups.google.com/group/kohana-php?hl=pt-BR. > -- Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google. Para postar neste grupo, envie um e-mail para [email protected]. Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected]. Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
