Não é pra pegar o FaultEvent, e sim o ResultEvent mesmo. Algo mais ou menos
assim:

server:

try {
>
>   var usuario:User = getUser( 1 );
>
>   return "<usuario><id>$usuario.id</id><name>$usuario.name
> </name></usuario>";
>
> } catch ( e:Error ) {
>
>   return "<error>Erro ao recuperar usuário</error>";
>
> }
>

Flex

function handler( e:ResultEvent ):void {
>
>   var xml:XML = parseXML( e );
>
>   if ( xml.error ) {
>
>     trace( xml.erro );
>
>   } else {
>
>     registraUser( xml.usuario );
>
>   }
>
> }
>

Abraços

--
@Tonussi
tonussi.com <http://tonussi.com/>


Em 7 de fevereiro de 2012 10:06, Carolina <[email protected]> escreveu:

> então, mas ai se eu usar direto assim:
>
> function(evt:FaultEvent):void
> {
> }
>
> Ele abre aquela caixa de erro nada amigável pro usuário e mesmo assim,
> nao mostra a msg de erro que eu tratei no c#
>
>
>
> On Feb 7, 9:54 am, Tonussi Eric <[email protected]> wrote:
> > Você vai usar da forma que já usa, só vai tratar o resultado
> >
> > --
> > @Tonussi
> > tonussi.com <http://tonussi.com/>
> >
> > Em 7 de fevereiro de 2012 09:52, Carolina <[email protected]>
> escreveu:
> >
> >
> >
> >
> >
> >
> >
> > > Mas Tonussi, por qual evento eu pego no Flex esse XML?
> > > como por ex lá na minha chamada de metodo
> >
> > > fr.addEventListener( --- XML??? ---, chamaClasseErro);
> >
> > > Obrigada
> >
> > > On Feb 2, 5:03 pm, Tonussi Eric <[email protected]> wrote:
> > > > Por exemplo, se a resposta do seu serviço for um XML, você envia o
> > > seguinte
> > > > XML:
> >
> > > > <result>
> >
> > > > >   <sucess>0</sucess>
> > > > >   <error_msg>Impossivel abrei o aquivo</error_msg>
> > > > > </result>
> >
> > > > e no AS:
> >
> > > > if ( xml.result.sucess == 1 ) {
> >
> > > > >   trace( 'sucesso!!' );
> > > > > } else {
> > > > >   trace( xml.result.error_msg );
> > > > > }
> >
> > > > --
> > > >  @Tonussi
> > > > tonussi.com <http://tonussi.com/>
> >
> > > > Em 2 de fevereiro de 2012 15:19, Fabrício Carvalho <
> > > > [email protected]> escreveu:
> >
> > > > > Fala ai tonussi, o que seria um objeto que o flex entende como
> erro ?
> >
> > > > > Estou com o mesmo problema.
> >
> > > > > Em 2 de fevereiro de 2012 14:40, Tonussi Eric <
> [email protected]
> > > >escreveu:
> >
> > > > > Na verdade, o fault só vai ser chamado quando houver um erro de
> > > conexão.
> > > > >> Se você teve um erro no C#, você captura ele no próprio C# e
> retorna
> > > para o
> > > > >> Flex um objeto que ele entenda como um erro.
> >
> > > > >> --
> > > > >>  @Tonussi
> > > > >> tonussi.com <http://tonussi.com/>
> >
> > > > >> Em 2 de fevereiro de 2012 13:00, Carolina <[email protected]
> > > >escreveu:
> >
> > > > >>> On Jan 31, 8:22 am, Carolina <[email protected]> wrote:
> > > > >>> > Olá Piero
> >
> > > > >>> > então eu usei assim
> >
> > > > >>> > fr.addEventListener(FaultEvent.FAULT, chamaClasseErro);
> >
> > > > >>> > esse fr é o fileReference
> >
> > > > >>> > e a chamada de metodo com o erro seria:
> >
> > > > >>> > public function chamaClasseErro (event:FaultEvent):void
> > > > >>> > {
> > > > >>> >    //tratar erro
> >
> > > > >>> > }
> >
> > > > >>> > só que quando da aExceptionno C# ele não volta nesse método
> ai, ele
> > > > >>> > joga direto o erro na tela;
> > > > >>> > quando eu usava IOErrorEvent ele chamava o metodo
> corretamente, só
> > > que
> > > > >>> > sempre chegava erro 2038 I/O
> >
> > > > >>> > o que falta pro listener chamar o método certo?
> >
> > > > >>> > Obrigada
> >
> > > > >>> > On Jan 30, 5:14 pm, Piero Brito <[email protected]> wrote:
> >
> > > > >>> > > Faça o importa da classe
> > > > >>> > > import mx.rpc.events.FaultEvent;
> >
> > > > >>> > > Eu uso assim:
> >
> > > > >>> > > BuscarServidor.addEventListener(FaultEvent.FAULT,
> > > > >>> > > function(evt:FaultEvent):void
> > > > >>> > > {
> >
> > > > >>> > > }
> >
> > > > >>> > > Em 30 de janeiro de 2012 16:56, Carolina <
> [email protected]>
> > > > >>> escreveu:
> >
> > > > >>> > > > Olá Piero
> >
> > > > >>> > > > seria?
> > > > >>> > > >        fr.addEventListener(flash.events.FaultEvent,
> > > erroHandler);
> >
> > > > >>> > > > porem ele da erro Access of undefined property FaultEvent
> > > > >>> > > > qual import usar?
> > > > >>> > > > vc tem um exemplo ai de como usar o FaultEvent?
> >
> > > > >>> > > > Obrigada =)
> >
> > > > >>> > > > On Jan 30, 4:47 pm, Piero Brito <[email protected]> wrote:
> > > > >>> > > > > Tenta usar o FaultEvent
> >
> > > > >>> > > > > Em 30 de janeiro de 2012 16:46, Carolina <
> > > [email protected]>
> > > > >>> > > > escreveu:
> >
> > > > >>> > > > > > Olá,
> >
> > > > >>> > > > > > estou criando uma estrutura para importar excel.
> > > > >>> > > > > > ela já importa, porem quero criar um tratamento de
> exceções
> >
> > > > >>> > > > > > no meu backend (em C#) tenho algo assim:
> > > > >>> > > > > >                   try
> > > > >>> > > > > >                        {
> >
> > > > >>> > > > > >                                strSQL =
> > > > >>> > > > > > update(dsExc.Tables[nomePlan].Rows[i]);
> > > > >>> > > > > >                                cons.ConsultaSQL(strSQL,
> > > > >>> strConexao);
> >
> > > > >>> > > > > >                        }
> > > > >>> > > > > >                        catch (Exceptionex)
> > > > >>> > > > > >                        {
> > > > >>> > > > > >                            throw
> newException(ex.Message);
> > > > >>> > > > > >                            cons.fechaConsulta();
> > > > >>> > > > > >                        }
> >
> > > > >>> > > > > > quero tratar essa mensagem no flex
> > > > >>> > > > > > e tentei usar algo assim
> >
> > > > >>> > > > > > fr.addEventListener(flash.events.IOErrorEvent.IO_ERROR,
> > > > >>> erroHandler);
> >
> > > > >>> > > > > >        private function
> erroHandler(event:ErrorEvent):void
> > > > >>> > > > > >                {
> > > > >>> > > > > >                        var strErro:String = event.text;
> > > > >>> > > > > >                        chamaTratarErro(strErro);
> > > > >>> > > > > >                }
> >
> > > > >>> > > > > > nesse método para tratar erro, queria fazer um if para
> > > > >>> verificação e
> > > > >>> > > > > > mostrar msg mais amigáveis pro usuário como por ex:
> > > > >>> > > > > > "Erro de conexão com banco de dados"
> > > > >>> > > > > > "Campos inválidos no excel"
> > > > >>> > > > > > "Tipo de arquivo invalido"
> >
> > > > >>> > > > > > porem no ErroEvent vem sempre o mesmo erro #2038 I/O
> ....
> > > > >>> > > > > > gostaria de saber pegar o erro certo no listener?
> >
> > > > >>> > > > > > Obrigada!
> >
> > > > >>> > > > > > --
> > > > >>> > > > > > Você recebeu esta mensagem porque está inscrito na
> lista
> > > > >>> "flexdev"
> > > > >>> > > > > > Para enviar uma mensagem, envie um e-mail para
> > > > >>> > > > [email protected]
> > > > >>> > > > > > Para sair da lista, envie um email em branco para
> > > > >>> > > > > > [email protected]
> > > > >>> > > > > > Mais opções estão disponíveis emhttp://
> > > > >>> groups.google.com/group/flexdev
> >
> > > > >>> > > > > --
> >
> > > > >>> > > > > *Piero Brito
> > > > >>> > > > > **Analista de Sistemas*
> >
> > > > >>> > > > --
> > > > >>> > > > Você recebeu esta mensagem porque está inscrito na lista
> > > "flexdev"
> > > > >>> > > > Para enviar uma mensagem, envie um e-mail para
> > > > >>> [email protected]
> > > > >>> > > > Para sair da lista, envie um email em branco para
> > > > >>> > > > [email protected]
> > > > >>> > > > Mais opções estão disponíveis emhttp://
> > > > >>> groups.google.com/group/flexdev
> >
> > > > >>> > > --
> >
> > > > >>> > > *Piero Brito
> > > > >>> > > **Analista de Sistemas*
> >
> > > > >>> --
> > > > >>> Você recebeu esta mensagem porque está inscrito na lista
> "flexdev"
> > > > >>> Para enviar uma mensagem, envie um e-mail para
> > > [email protected]
> > > > >>> Para sair da lista, envie um email em branco para
> > > > >>> [email protected]
> > > > >>> Mais opções estão disponíveis emhttp://
> > > groups.google.com/group/flexdev
> >
> > > > >>  --
> > > > >> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > > >> Para enviar uma mensagem, envie um e-mail para
> > > [email protected]
> > > > >> Para sair da lista, envie um email em branco para
> > > > >> [email protected]
> > > > >> Mais opções estão disponíveis emhttp://
> > > groups.google.com/group/flexdev
> >
> > > > > --
> > > > > Att,
> > > > > Fabrício
> >
> > > > > --
> > > > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > > > Para enviar uma mensagem, envie um e-mail para
> > > [email protected]
> > > > > Para sair da lista, envie um email em branco para
> > > > > [email protected]
> > > > > Mais opções estão disponíveis emhttp://
> groups.google.com/group/flexdev
> >
> > > --
> > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > Para enviar uma mensagem, envie um e-mail para
> [email protected]
> > > Para sair da lista, envie um email em branco para
> > > [email protected]
> > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a