logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Trabalhando com exceções com Adobe Flex e Zend AMF

Colocado por Leonardo França na(s) categoria(s): 1, 4, 6, action, Actionscript, ActionScript 3, Actionscript 3.0, Actionscript3, Adobe, Adobe Flex, AMF, api, app, AR, arte, back, bar, BI, C#, class, classe, código, Curso, demo, dispatch, Download, err, erro, event, EventListener, flash, Flash Platform, Flex, for, framework, function, handle, ide, if, image, int, Java, Javascript, lite, mg, O, on, PHP, platform, programação, pt, RIA, Ria’s Geral, server, servidor, string, Tema, Teste, UI, uint, XP, zend, Zend Amf, zendAMF, zendFramework em 09 21st, 2010 | 1 Comentário



Algumas linguagens de programação possuem o recurso de se trabalhar com exceções como PHP, ActionScript 3.0, Java, C# etc. É um recurso que se for bem usado, torna-se poderoso e ajuda a evitar futuras dores de cabeça para seu sistema. Uma exceção nada mais é que a possibilidade de tratar um erro sem necessariamente parar totalmente seu programa.

O suporte a exceções foi adicionado no PHP a partir da versão 5, e pode ser usando em conjunto com o Adobe Flex, neste caso utilizarei o Zend AMF, uma implementação do protocolo AMF para se trabalhar em conjunto com a Flash Platform e seu server-side rodando PHP fazendo parte do ZendFramework.
Considera-se uma boa prática você criar sua classe de exceção extendendo a classe Zend_Exception.

PLAIN TEXT
PHP:

  1. <?php
  2. class MyException extends Zend_Exception{}

Por enquanto só isso basta, podemos implementar mais métodos de acordo com a necessidade de nosso sistema.
Agora criaremos uma classe para disparar a exceção, no PHP isso é feito usando a palavra reservada “throw”.

PLAIN TEXT
PHP:

  1. <?php
  2. class HelloException  
  3. {
  4.      public function dispatchException()
  5.      {
  6.         throw new MyException("dispatch exception!!!");
  7.      }  
  8. }
  9. ?>

No Flex vamos chamar o método normalmente usando a classe RemoteObject.

PLAIN TEXT
ACTIONSCRIPT3:

  1. protected function application1_creationCompleteHandler(event:FlexEvent):void
  2.             {
  3.                 ro = new RemoteObject();
  4.                 ro.destination = "nao faz diferença nenhuma usando com Zend AMF";
  5.                 ro.endpoint = "http://localhost:81/ZendAmf/teste_exception.php";
  6.                 ro.source = "br.com.leonardofranca.HelloException";
  7.                 ro.addEventListener(ResultEvent.RESULT, handlerResult);
  8.                 ro.addEventListener(FaultEvent.FAULT, handlerFault);
  9.                 ro.dispatchException();
  10.             }

Nossa atenção se voltará para o FaultEvent, ele é responsável por capturar as exceções vindas do servidor. Basicamente só precisaremos mostrar ao usuário o faultString.

PLAIN TEXT
ACTIONSCRIPT3:

  1. private function handlerFault(fault:FaultEvent):void
  2.             {
  3.                 trace(fault.fault.faultCode);
  4.                 trace(fault.fault.faultDetail);
  5.                 trace(fault.fault.faultString);
  6.                 Alert.show(fault.fault.faultString,"Atenção");
  7.             }

Devemos ter o seguinte resultado:

Exception

Código completo:
Download PHP
Download Flex



Veja o post original no blog do autor aqui!  

Leonardo França

Escrito por Leonardo França @ http://www.leonardofranca.com.br
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» Stratus agora é Cirrus
» Usando Acelerômetro no Flash Lite com Nokia Platform Services
» Software para gerenciar publicidade online – OpenX

Comentários ( 1 Comentário )
 

Estranho,
Usando o Charles para verificar a transação, vejo que o retorno vem correto, ou seja, uma Excepetion, mas a mensagem vem null. Não consegui contornar o problema.

Mackson juntou estes bytes...
Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com